A recent post on py-dev (first link below) makes me think there is a way to
fix this issue without changing PyInstaller, albeit with a bit of ctypes
coding needed, at least until 3.8 is available.  (I'm sensitive to this as
I know our application will need to adapt, so I thought I'd toss this out
here, since it seems related.)

https://mail.python.org/archives/list/python-...@python.org/message/R5RIBKDOH3J5ZBI22J3VHQWD4PEUTGWK/


>From the 3.8 porting notes:

"DLL dependencies for extension modules and DLLs loaded with ctypes
<https://docs.python.org/3.8/library/ctypes.html#module-ctypes> on Windows
are now resolved more securely. Only the system paths, the directory
containing the DLL or PYD file, and directories added with
add_dll_directory()
<https://docs.python.org/3.8/library/os.html#os.add_dll_directory> are
searched for load-time dependencies. *Specifically, **PATH** and the
current working directory are no longer used, and modifications to these
will no longer have any effect on normal DLL resolution.* If your
application relies on these mechanisms, you should check for
add_dll_directory()
<https://docs.python.org/3.8/library/os.html#os.add_dll_directory> and if
it exists, use it to add your DLLs directory while loading your library.
Note that Windows 7 users will need to ensure that Windows Update KB2533625
has been installed (this is also verified by the installer). (See bpo-36085
<https://bugs.python.org/issue36085>.) "

On Thu, Jun 20, 2019 at 11:54 AM Eric Fahlgren <ericfahlg...@gmail.com>
wrote:

> Randy,
>
> Thanks for the background, always useful to know other's problems in case
> there's any overlap.
>
> Eric
>
> On Wed, Jun 19, 2019 at 2:38 PM gpraceman <gprace...@gmail.com> wrote:
>
>> Eric,
>>
>> I had been using PyInstaller to package up my Gtk3 app for years, on
>> Python 3.4.  My problem came about when I needed to upgrade Gtk3 to a newer
>> version.  Only way it seems to install Gtk3 on Windows, above Python 3.4,
>> is using MSYS2.  MSYS2 only installs the latest version of Python
>> (3.7.3).   It took some doing, but I was finally able to get Gtk3 working
>> on Python 3.7.  However, PyInstaller would not package up the app.   There
>> was no moving backwards to Python 3.6, with MSYS2, to give that a try.  In
>> a web search, others reported issues packaging with 3.7, but were
>> successful if reverting to 3.6.  As, I need to get my app delivered soon, I
>> chose to dive into the PyInstaller code and try to fix the packaging issues
>> with 3.7.
>>
>> Also, on my macOS machine, same app would not package on Python 3.7.3.  I
>> got some "Security-Alert: try to store file outside of dist-directory"
>> error.  Switched to Python 3.6.8 (thanks to pyenv) and PyInstaller was able
>> to package up the app.
>>
>> Not sure why the version of Python makes much of a difference with
>> PyInstaller, but it sure seems to.
>>
>> Randy
>>
>> On Wednesday, June 19, 2019 at 10:11:06 AM UTC-6, Eric Fahlgren wrote:
>>>
>>> Since you mention Py 3.7 specifically, I'm just curious as to how much
>>> of this you feel relates to Py 3.7?  When I moved from 3.6.3 to 3.7.1 last
>>> October, it was pretty much painless, but we're using wxPython for gui and
>>> it has been very stable in this regard for years.  Most of my PyInstaller
>>> drama comes from SciPy updates, which always seem to add or restructure
>>> some DLL import somewhere.
>>>
>>> On Wed, Jun 19, 2019 at 5:02 AM gpraceman <gpra...@gmail.com> wrote:
>>>
>>>> Man, what a pain in the butt it has been to get PyInstaller to work
>>>> with Python 3.7 on Windows 10, but I finally got my Gtk3+ app to package
>>>> and run.
>>>>
>>>> First, I ran into a big issue with DLL's not being found.  See Issue
>>>> #4125 <https://github.com/pyinstaller/pyinstaller/issues/4125>.  To
>>>> resolve that issue, I had to download and install the dev version of
>>>> PyInstaller.  Then I implemented the proposed changes from Pull #4240
>>>> <https://github.com/pyinstaller/pyinstaller/pull/4240>, including
>>>> htgoebel's proposed edits.  Now, when I package my app, it finds all of the
>>>> needed DLL's.
>>>>
>>>> However, when running the packaged app, I got a "No module named
>>>> 'packaging.specifiers'" error.  I had to edit the
>>>> site-packages/pkg_resources/__init__.py file.  I replaced the __import__()
>>>> statements, lines 89-92, with regular import statements.  Repackaged the
>>>> app and now it runs with no errors!  That is a huge relief.
>>>>
>>>> Hopefully, this information will help someone.  At a minimum, if should
>>>> serve to confirm that the changes in Pull #4240, along with the proposed
>>>> edits, do work and should be implemented.
>>>>
>>>> --
>>>> 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 pyins...@googlegroups.com.
>>>> To post to this group, send email to pyins...@googlegroups.com.
>>>> 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/84b4310f-436b-4e55-be52-577cf132a94d%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/pyinstaller/84b4310f-436b-4e55-be52-577cf132a94d%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 pyinstaller+unsubscr...@googlegroups.com.
>> To post to this group, send email to pyinstaller@googlegroups.com.
>> 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/f7103457-c708-4ce0-915e-0166fb991c39%40googlegroups.com
>> <https://groups.google.com/d/msgid/pyinstaller/f7103457-c708-4ce0-915e-0166fb991c39%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 pyinstaller+unsubscr...@googlegroups.com.
To post to this group, send email to pyinstaller@googlegroups.com.
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%2BURX3S5P5mdiaUYyqw-0LTLD6VnawTH_9b5T7HDk6ak_Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to