Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ImportError:无法使用cx\U冻结导入名称MAXREPEAT_Python_Python 2.7_Cx Freeze - Fatal编程技术网

Python ImportError:无法使用cx\U冻结导入名称MAXREPEAT

Python ImportError:无法使用cx\U冻结导入名称MAXREPEAT,python,python-2.7,cx-freeze,Python,Python 2.7,Cx Freeze,我在运行冻结的应用程序时遇到了一个问题,即cx\U Freeze(在未冻结的情况下可以正常工作) 运行程序时,会导致以下回溯: Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 27, in <module> exec code in m.__dict__ File "Python

我在运行冻结的应用程序时遇到了一个问题,即cx\U Freeze(在未冻结的情况下可以正常工作)

运行程序时,会导致以下回溯:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 27, in <module>
    exec code in m.__dict__
  File "PythonApp/mainframe.py", line 3, in <module>
  File "/usr/local/lib/python2.7/site-packages/dbus/__init__.py", line 103, in <module>
    from dbus._dbus import Bus, SystemBus, SessionBus, StarterBus
  File "/usr/local/lib/python2.7/site-packages/dbus/_dbus.py", line 39, in <module>
    from dbus.bus import BusConnection
  File "/usr/local/lib/python2.7/site-packages/dbus/bus.py", line 39, in <module>
    from dbus.connection import Connection
  File "/usr/local/lib/python2.7/site-packages/dbus/connection.py", line 27, in <module>
    import threading
  File "/usr/local/lib/python2.7/threading.py", line 44, in <module>
    module='threading', message='sys.exc_clear')
  File "/usr/local/lib/python2.7/warnings.py", line 57, in filterwarnings
    import re
  File "/usr/local/lib/python2.7/re.py", line 105, in <module>
    import sre_compile
  File "/usr/local/lib/python2.7/sre_compile.py", line 14, in <module>
    import sre_parse
  File "/usr/local/lib/python2.7/sre_parse.py", line 17, in <module>
    from sre_constants import *
  File "/usr/local/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
不返回任何内容,而且导入的
\u sre
模块也没有
\uuuuuuuuuuuuuuuuuuuuuuuuuuu
属性,因此我不知道如何确保它作为内置显示被包括在内

>>> import _sre
>>> _sre.__file__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__file__'
>>> repr(_sre)
"<module '_sre' (built-in)>"
\u sre
是一个,因此没有要包含的文件,但在Python 2.7.3中没有maxreat属性:

>>> import _sre
>>> _sre
<module '_sre' (built-in)>
>>> _sre.MAXREPEAT
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'MAXREPEAT'
导入 >>>_sre >>>_sre.maxpeat 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 AttributeError:“模块”对象没有属性“MAXREPEAT”
我最好的猜测是,您的冻结副本不知何故具有Python 2.7.4中的标准library.py模块,但具有2.7.3或更早版本中编译的Python解释器。我看到您正在从
/usr/local
-可能是从
/usr

中选取了一个旧版本。我刚从Ubuntu12.10升级到13.04时遇到了这个问题,我通过将/usr/bin/python复制到/path/to/my/env/bin/解决了这个问题,效果很好


cp/user/bin/python/path/to/my/env/bin/

或者,有一种更优雅的方法来解决此问题()


mkvirtualenv

如果所有其他方法都失败了,我可以使用以下方法运行:

我最近也遇到了同样的问题。设置LD_库路径=
解决了问题。

我在win 8机器上使用cx_freeze 4.3.2,它总是显示导入错误:无法使用cx freeze导入名称MAXREPEAT如果我尝试冻结非内置模块,并且下载了版本4.3.1,它就可以工作,我现在可以毫无问题地冻结我所有的python 3.3程序了。

我在windows 8上也遇到过类似的问题-只是PYTHONPATH的问题。通过在python会话中键入以下内容,检查PYTHONPATH是否存在:

导入操作系统

os.environ['PYTHONPATH'].split(os.pathsep)

如果出现错误,请使用此方法设置PYTHONPATH


如何找到要使用的解释器?通过查看
$PATH
?我将尝试在第一行打印python版本号,然后查看。顺便说一句,您已经找到:)
print sys。第一行的版本显示冻结版本中的解释器是
2.7.3
。我猜线索是
\u sre
是在
2.7.4
中解释器启动时导入的,但在我冻结的应用程序中,它是在我导入dbus
时抛出的。好吧,我想我应该清除
2.7.3
的版本,这样它就不会拾取它了。。但我似乎没有
2.7.3
的版本!我在
/usr/local
中有
2.7.4
,在
/usr
中有
2.6.6
。你知道这是怎么发生的吗?我没想到。您可以尝试
查找libpython2.7
以查找其他副本。否则,请尝试清除对系统不必要的所有内容(即不要从/usr中删除副本-大多数Linux系统都使用Python),然后重新安装。删除Python并重新安装确实解决了这一问题,谢谢。我认为2.7.3以前就在上面,2.7.4一定安装在它的顶部,可能会留下一些.3位。谢谢你的线索!正如同一参考问题中所建议的,
virtualenv
允许您在不使用virtualenvwrapper的情况下更新virtualenv。mkvirtualenv非常完美,谢谢。如果有人担心它会破坏virtualenv中的文件和其他文件,它不会!!从Ubuntu12.10升级到13.04,面临上述相同问题。在现有的virtualenv上运行virtualenv,这就解决了问题。谢谢
...
# /usr/local/lib/python2.7/re.pyc matches /usr/local/lib/python2.7/re.py
import re # precompiled from /usr/local/lib/python2.7/re.pyc
# /usr/local/lib/python2.7/sre_compile.pyc matches /usr/local/lib/python2.7/sre_compile.py
import sre_compile # precompiled from /usr/local/lib/python2.7/sre_compile.pyc
import _sre # builtin
# /usr/local/lib/python2.7/sre_parse.pyc matches /usr/local/lib/python2.7/sre_parse.py
import sre_parse # precompiled from /usr/local/lib/python2.7/sre_parse.pyc
...
>>> import _sre
>>> _sre
<module '_sre' (built-in)>
>>> _sre.MAXREPEAT
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'MAXREPEAT'