On 29/09/2016 21:20, Coyot Linden (Glenn Glazer) wrote: > Anyone have any thoughts on this? It's now also showing up in > download_update: > > LOADER: Running download_update.py > Traceback (most recent call last): > File "download_update.py", line 33, in <module> > import os > File > "c:\cygwin64\tmp\pip-build-xzzmth\pyinstaller\PyInstaller\loader\pyimod03_importers.py", > line 389, in load_module > File "InstallerUserMessage.py", line 33, in <module> > import Queue > ImportError: No module named Queue > Failed to execute script download_update > > I have no idea why Queue would be different than any other Python module. > > Best, > > coyot > > > On 9/26/16 10:07, Coyot Linden (Glenn Glazer) wrote: >> Hi, all. >> >> There is a top level script, called SL_Launcher. This script may >> decide to launch another script, download_update as a subprocess: >> >> download_process = subprocess.Popen([path_to_downloader, ...args to >> download_update] ...args to subprocess) >> >> where path_to_downloader is the pyinstaller created executable in the >> same directory as the pyinstaller created executable of SL_Launcher. >> >> Inside download_update, it imports a module called >> InstallerUserMessage.py, which isolates all of the Tkinter handling >> for the various other modules. For test purposes, InstallerUserMessage >> has a main() that exercises the various methods. For the >> implementation of a progressbar, it imports Queue. >> >> When I run the main() method from InstallerUserMessage, it runs >> without error. >> >> However, when I run SL_Launcher.exe or just download_update.exe, I get: >> >> LOADER: Running SL_Launcher.py >> Traceback (most recent call last): >> File "SL_Launcher.py", line 30, in <module> >> import InstallerUserMessage >> File >> "c:\cygwin64\tmp\pip-build-xzzmth\pyinstaller\PyInstaller\loader\pyimod03_importers.py", >> line 389, in load_module >> File "InstallerUserMessage.py", line 33, in <module> >> import Queue >> ImportError: No module named Queue >> Failed to execute script SL_Launcher >> LOADER: OK. >> LOADER: Cleaning up Python interpreter. >> LOADER: Back to parent (RC: -1) >> LOADER: Doing cleanup >> LOADER: Freeing archive status for c:\Program Files >> (x86)\SecondLifeTestCoyotVMP\SL_Launcher.exe >> >> or >> >> LOADER: Running download_update.py >> Traceback (most recent call last): >> File "download_update.py", line 33, in <module> >> import os >> File >> "c:\cygwin64\tmp\pip-build-xzzmth\pyinstaller\PyInstaller\loader\pyimod03_importers.py", >> line 389, in load_module >> File "InstallerUserMessage.py", line 33, in <module> >> import Queue >> ImportError: No module named Queue >> Failed to execute script download_update >> LOADER: OK. >> LOADER: Cleaning up Python interpreter. >> LOADER: Back to parent (RC: -1) >> LOADER: Doing cleanup >> LOADER: Freeing archive status for c:\Program Files >> (x86)\SecondLifeTestCoyotVMP\download_update.exe >> >> The only other error output message is this: >> >> LOADER: Error activating the context: ActivateActCtx: >> An attempt to set the process default activation context failed >> because the process default activation context was already set. >> >> If I add import Queue to SL_Launcher (it is already in >> download_update), there is no problem with those import statements. >> If I reorder the import statements in InstallerUserMessage to put >> Queue at the end (I typically alphabetize them), it has no problem >> finding os, sys, threading, time, Tkinter, ttk, and webbrowser, and >> dies on Queue. >> >> By way of environment notes, Windows 7, Python 2.7.11 and pyinstaller >> 3.2. I am not using any custom spec files. This code works on Mac as >> Python scripts. >> >> Is there something I need to do to get pyinstaller to find Queue in an >> imported module? I find it curious and strange that it found all of >> other imports but not Queue. >> >> Best, >> >> coyot > > -- > 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 > <mailto:pyinstaller+unsubscr...@googlegroups.com>. > To post to this group, send email to pyinstaller@googlegroups.com > <mailto:pyinstaller@googlegroups.com>. > Visit this group at https://groups.google.com/group/pyinstaller. > For more options, visit https://groups.google.com/d/optout.
An interesting little experiment that might throw some light on the situation: In [24]: import Queue In [25]: Queue.__file__ Out[25]: 'c:\\python27\\lib\\Queue.pyc' In [26]: Queue? Type: module String form: <module 'Queue' from 'c:\python27\lib\Queue.pyc'> File: c:\python27\lib\queue.py Docstring: A multi-producer, multi-consumer queue. In [27]: import queue In [28]: queue.__file__ Out[28]: 'c:\\python27\\lib\\site-packages\\queue\\__init__.pyc' In [29]: queue? Type: module String form: <module 'queue' from 'c:\python27\lib\site-packages\queue\__init__.pyc'> File: c:\python27\lib\site-packages\queue\__init__.py Docstring: <no docstring> https://docs.python.org/2.7/library/queue.html?highlight=queue is worth a look as opposed to https://docs.python.org/3.5/library/queue.html?highlight=queue -- Steve (Gadget) Barnes Any opinions in this message are my personal opinions and do not reflect those of my employer. -- 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. For more options, visit https://groups.google.com/d/optout.