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.
