问题描述
我正在使用python 3.4。我能够运行我的python脚本而没有任何问题。
但是在运行冻结的python脚本时,出现了以下错误。
我也可以使用cx_freeze成功冻结脚本。
I am using python 3.4. I am able to run my python script without any problem.But While running my freezed python script , following error have appeared.I am able to freeze my script successfully too with 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是cb_Freeze导入设置中的
,可执行
导入请求。certs
Even tried installing package 'six' with no help.My setup.py is from cx_Freeze import setup, Executable import 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新手身份来看看我。
Any help will be highly appreciated. please see me as novice in python
推荐答案
我在使用Python 3.5的Ubuntu上运行时遇到了同样的问题。似乎 cx_freeze
对于导入其他文件或类似文件的库有问题。
I had the same issues running on Ubuntu with Python 3.5. It seems that cx_freeze
has problems with libraries that import other files or something like that.
导入队列
与请求
一起为我工作,所以:
Importing Queue
together with requests
worked for me, so:
import requests
from multiprocessing import Queue
认为在 packages中指定
是必要的。 urllib
:[ urllib, requests]
And I don't think specifying urllib
in "packages": ["urllib", "requests"]
is necessary.
这篇关于ImportError:在运行我的应用程序时,没有名为“ queue”的模块被cx_freeze冻结的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!