Sorry, out of ideas. Maybe the PyInstaller dll loader is ignoring the
modifications to PATH, but then why is it working for me?

On Wed, Jun 12, 2019 at 7:27 AM Ben Green <[email protected]>
wrote:

> Eric,
>
> I was setting the path in the main script right before I imported the SWIG
> module. At your suggestion, I tried using a runtime_hook to point to a boot
> file, and I set os.environ["PATH"] in the boot file. I still have the same
> issue.
>
> On Sunday, June 9, 2019 at 9:21:15 AM UTC-4, Eric Fahlgren wrote:
>>
>> Ben, I think we're doing exactly that in our code.  Exactly when are you
>> setting PATH?  Do you use the runtime_hooks in your .spec file to point to
>> a boot file, so it happens as part of initialization of the product exe?
>>
>> XXX.spec contains (among all the other stuff):
>> analyzed = Analysis(
>>     scripts                 = [path.join(XXX_ROOT, 'XXX/main.py')],
>>     runtime_hooks           = [path.join(XXX_ROOT,
>> 'install/XXX_boot.py')],
>> ...
>>
>> Then in install/XXX_boot.py we have (obviously Windows-specific):
>>
>> os.environ['OUR_PRODUCT_INSTALL_DIR'] = 'something'
>> os.environ['PATH'] = r'%OUR_PRODUCT_INSTALL_DIR_VAR%\bin;' +
>> os.environ['PATH']
>>
>> On Fri, Jun 7, 2019 at 12:04 AM Ben Green <[email protected]>
>> wrote:
>>
>>> The problem:
>>> I have a small program that imports a SWIG module, which imports some
>>> DLLs. I need to create an executable for this program that can reference
>>> these external DLLs as external DLLs, not by bundling them in the
>>> executable.
>>>
>>> From what I've read, this doesn't seem to be possible. I've tried a few
>>> different solutions from forums and such that changed the DLL path or
>>> something, and I've tried changing sys.path and os.environ["PATH"], but
>>> none of these seem to help the SWIG module find the external DLLs. I can
>>> get the program to run just fine if I include the DLLs in the executable,
>>> but that isn't the desired behavior.
>>>
>>> Does anyone know if there's a way to get PyInstaller to do this?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "PyInstaller" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/pyinstaller.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/pyinstaller/b816bd6d-cf3c-4056-8e0c-d06413d2cf75%40googlegroups.com
>>> <https://groups.google.com/d/msgid/pyinstaller/b816bd6d-cf3c-4056-8e0c-d06413d2cf75%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "PyInstaller" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/pyinstaller.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pyinstaller/45a11453-56fb-4a76-95c0-f6fcc41f3da2%40googlegroups.com
> <https://groups.google.com/d/msgid/pyinstaller/45a11453-56fb-4a76-95c0-f6fcc41f3da2%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyinstaller.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyinstaller/CAP2Qz%2BVU9OC43j84p7RH2OKQX7-bU9Vq8J2Gr%3D21MJq3QXfc-g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to