ImportError: No module named 'queue' while running my app freezed with cx_freeze
ImportError: No module named 'queue' while running my app freezed with cx_freeze
我正在使用 python 3.4。我可以毫无问题地 运行 我的 python 脚本。
但是当 运行 冻结我的 python 脚本时,出现了以下错误。
我也可以使用 cx_freeze 成功地冻结我的脚本。
C:\Program Files (x86)\utils>utils.exe
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\requests\packages\__init__.py", line 27, i
n <module>
from . import urllib3
File "C:\Python34\lib\site-packages\requests\packages\urllib3\__init__.py", line 8, in <module>
from .connectionpool import (
File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 28, in <module>
from .packages.six.moves.queue import LifoQueue, Empty, Full
File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 203, in load_module
mod = mod._resolve()
File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 115, in _resolve
return _import_module(self.mod)
File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
ImportError: No module named 'queue'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 12, in <module>
__import__(name + "__init__")
File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 21, in <module>
scriptModule = __import__(moduleName)
File "utils.py", line 3, in <module>
File "C:\Python34\lib\site-packages\requests\__init__.py", line 63, in <module>
from . import utils
File "C:\Python34\lib\site-packages\requests\utils.py", line 24, in <module>
from ._internal_utils import to_native_string
File "C:\Python34\lib\site-packages\requests\_internal_utils.py", line 11, in <module>
from .compat import is_py2, builtin_str
File "C:\Python34\lib\site-packages\requests\compat.py", line 11, in <module>
from .packages import chardet
File "C:\Python34\lib\site-packages\requests\packages\__init__.py", line 29, in <module>
import urllib3
File "C:\Python34\lib\site-packages\urllib3\__init__.py", line 8, in <module>
from .connectionpool import (
File "C:\Python34\lib\site-packages\urllib3\connectionpool.py", line 28, in <module>
from .packages.six.moves.queue import LifoQueue, Empty, Full
File "C:\Python34\lib\site-packages\urllib3\packages\six.py", line 203, in load_module
mod = mod._resolve()
File "C:\Python34\lib\site-packages\urllib3\packages\six.py", line 115, in _resolve
return _import_module(self.mod)
File "C:\Python34\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
ImportError: No module named 'queue'
甚至在没有帮助的情况下尝试安装软件包 'six'。
我的 setup.py 是
来自 cx_Freeze 导入设置,可执行文件
导入 requests.certs
setup(
name = "utils" ,
version = "0.1" ,
description = " utils for accounts" ,
executables = [Executable("utils.py")],
options = {"build_exe": {"packages": ["urllib", "requests"],"include_files":[(requests.certs.where(),'cacert.pem')]}},
)
脚本导入以下模块
import requests
import urllib.request
import uuid
import json
import http.client
from xml.dom import minidom
我们将不胜感激任何帮助。请在python
中将我视为新手
我在 Ubuntu 和 Python 3.5 上遇到了同样的问题 运行。 cx_freeze
导入其他文件或类似文件的库似乎有问题。
导入 Queue
和 requests
对我有用,所以:
import requests
from multiprocessing import Queue
而且我认为没有必要在 "packages": ["urllib", "requests"]
中指定 urllib
。
根据项目包有多种选择:
方法一:
Answer: I solve the problem my issue was I had file named queue.py in the same
directory
方法二:
队列在多处理模块中,因此:
from multiprocessing import Queue
方法三:
将 pip 从 1.5.6 更新到 8.1.2
`sudo python -m pip install -U pip`
重新启动系统(不知道是否需要,但只有在重新启动后才会列出新版本的pip)
方法四:
from six.moves.queue import Queue //不知道怎么导入六个包
除了
from multiprocessing import Queue
我回滚到旧版本 cx_freeze:
pip install cx-freeze==4.3.3
此外,"requests" 库抱怨缺少 "urllib3" 模块。我将其升级到 requests==2.13.0 现在一切正常。
我在 Win10 上使用 Python 3.4。希望这会有所帮助。
在setup.py中,options={"build_exe": {"packages": ["multiprocessing"]}}
也可以做到。
我正在使用 python 3.4。我可以毫无问题地 运行 我的 python 脚本。 但是当 运行 冻结我的 python 脚本时,出现了以下错误。 我也可以使用 cx_freeze 成功地冻结我的脚本。
C:\Program Files (x86)\utils>utils.exe
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\requests\packages\__init__.py", line 27, i
n <module>
from . import urllib3
File "C:\Python34\lib\site-packages\requests\packages\urllib3\__init__.py", line 8, in <module>
from .connectionpool import (
File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 28, in <module>
from .packages.six.moves.queue import LifoQueue, Empty, Full
File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 203, in load_module
mod = mod._resolve()
File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 115, in _resolve
return _import_module(self.mod)
File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
ImportError: No module named 'queue'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 12, in <module>
__import__(name + "__init__")
File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 21, in <module>
scriptModule = __import__(moduleName)
File "utils.py", line 3, in <module>
File "C:\Python34\lib\site-packages\requests\__init__.py", line 63, in <module>
from . import utils
File "C:\Python34\lib\site-packages\requests\utils.py", line 24, in <module>
from ._internal_utils import to_native_string
File "C:\Python34\lib\site-packages\requests\_internal_utils.py", line 11, in <module>
from .compat import is_py2, builtin_str
File "C:\Python34\lib\site-packages\requests\compat.py", line 11, in <module>
from .packages import chardet
File "C:\Python34\lib\site-packages\requests\packages\__init__.py", line 29, in <module>
import urllib3
File "C:\Python34\lib\site-packages\urllib3\__init__.py", line 8, in <module>
from .connectionpool import (
File "C:\Python34\lib\site-packages\urllib3\connectionpool.py", line 28, in <module>
from .packages.six.moves.queue import LifoQueue, Empty, Full
File "C:\Python34\lib\site-packages\urllib3\packages\six.py", line 203, in load_module
mod = mod._resolve()
File "C:\Python34\lib\site-packages\urllib3\packages\six.py", line 115, in _resolve
return _import_module(self.mod)
File "C:\Python34\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
ImportError: No module named 'queue'
甚至在没有帮助的情况下尝试安装软件包 'six'。 我的 setup.py 是 来自 cx_Freeze 导入设置,可执行文件 导入 requests.certs
setup(
name = "utils" ,
version = "0.1" ,
description = " utils for accounts" ,
executables = [Executable("utils.py")],
options = {"build_exe": {"packages": ["urllib", "requests"],"include_files":[(requests.certs.where(),'cacert.pem')]}},
)
脚本导入以下模块
import requests
import urllib.request
import uuid
import json
import http.client
from xml.dom import minidom
我们将不胜感激任何帮助。请在python
中将我视为新手我在 Ubuntu 和 Python 3.5 上遇到了同样的问题 运行。 cx_freeze
导入其他文件或类似文件的库似乎有问题。
导入 Queue
和 requests
对我有用,所以:
import requests
from multiprocessing import Queue
而且我认为没有必要在 "packages": ["urllib", "requests"]
中指定 urllib
。
根据项目包有多种选择:
方法一:
Answer: I solve the problem my issue was I had file named queue.py in the same directory
方法二: 队列在多处理模块中,因此:
from multiprocessing import Queue
方法三: 将 pip 从 1.5.6 更新到 8.1.2
`sudo python -m pip install -U pip`
重新启动系统(不知道是否需要,但只有在重新启动后才会列出新版本的pip) 方法四:
from six.moves.queue import Queue //不知道怎么导入六个包
除了
from multiprocessing import Queue
我回滚到旧版本 cx_freeze:
pip install cx-freeze==4.3.3
此外,"requests" 库抱怨缺少 "urllib3" 模块。我将其升级到 requests==2.13.0 现在一切正常。
我在 Win10 上使用 Python 3.4。希望这会有所帮助。
在setup.py中,options={"build_exe": {"packages": ["multiprocessing"]}}
也可以做到。