我试图将一个简单的Python脚本转换为Windows可执行文件。 我的setup.py脚本是:
from distutils.core import setup import py2exe setup( name = "Simple Script",options = { "py2exe": { "dll_excludes" : ["libmmd.dll","libifcoremd.dll","libiomp5md.dll","libzmq.dll"] } },console=['simple_script.py'] )
我已经添加了dll_excludes,因为他们每个人都导致失败。 现在我遇到了一个我不能简单排除的失败。 这是错误跟踪:
Traceback (most recent call last): File "setup.py",line 12,in <module> console=['rules signed.py'] File "C:Anacondalibdistutilscore.py",line 152,in setup dist.run_commands() File "C:Anacondalibdistutilsdist.py",line 953,in run_commands self.run_command(cmd) File "C:Anacondalibdistutilsdist.py",line 972,in run_command cmd_obj.run() File "C:Anacondalibsite-packagespy2exebuild_exe.py",line 243,in run self._run() File "C:Anacondalibsite-packagespy2exebuild_exe.py",line 306,in _run self.plat_finalize(mf.modules,py_files,extensions,dlls) File "C:Anacondalibsite-packagespy2exebuild_exe.py",line 1157,in plat_finalize import pythoncom File "C:Anacondalibsite-packagespythoncom.py",line 2,in <module> import pywintypes File "C:Anacondalibsite-packageswin32libpywintypes.py",line 124,in <module> __import_pywin32_system_module__("pywintypes",globals()) File "C:Anacondalibsite-packageswin32libpywintypes.py",line 98,in __import_pywin32_system_module__ raise ImportError("No system module '%s' (%s)" % (modname,filename)) ImportError: No system module 'pywintypes' (pywintypes27.dll)
我已经安装了pywin32,并尝试在我的设置选项中排除“pywintypes27.dll”,“pywintypes”,“pywin”,“pywin.debugger”,但没有成功。 也尝试应用我发现的所有其他解决scheme,如移动“pythoncom27.dll”,“pythoncomloader27.dll”和“pywintypes27.dll”到顶级目录。
没有任何东西消除了“ImportError:No system module pywintypes(pywintypes27.dll)”问题
conda命令会提示错误:“错误的解释器:没有这样的文件或目录”
在Rstudio上运行devtools :: check()会导致0笔记/ 0错误/ 0警告; 但运行R CMD检查给我错误和笔记
Anaconda Python:不能在64位机器上执行本地linux-64二进制文件
安装Anaconda后,conda命令失败,并显示“ImportError:no module named conda.cli”
如何从窗口中完全删除anaconda?
在Windows 7中,Pyplot窗口显示为最上面的窗口
Anaconda:禁用提示更改
如何在mod_wsgi中使用conda环境?
如何使用默认的R安装通过conda安装rpy2
采购Anaconda激活脚本与将Anaconda bin目录添加到PATH
我最近安装了Anaconda,部分原因是我需要win32com软件包,而不想排除dll文件。 不过,同样的问题对我来说。
pywintypes27.dll
pythoncom27.dll
坐在:
C:蟒蛇 LIB 站点包 WIN32
至
C:蟒蛇 LIB 站点包 WIN32 LIB
因为查找这些文件的函数看起来在那里,但不在上面的目录中。 源文件pywintypes.py中的大量注释揭示了这个问题,可能是由于不同的安装过程。 我在这里发布了一个关于Anaconda问题跟踪器的问题 。
这里是我日常使用的包装控制台python应用程序的exe文件的代码片段。 它工作正常。
from distutils.core import setup import py2exe from glob import glob data_files = [("Microsoft.VC90.CRT",glob(r'C:Program FilesMicrosoft Visual Studio 9.0VCredistx86Microsoft.VC90.CRT*.*')),... other required files] py2exe_options={"py2exe":{"includes":[some_thing_need_to_included],"dll_excludes":[some_thing_need_to_exclude]}} setup(data_files=data_files,options=py2exe_options,console=['aim_python_script.py'])
你应该检查你的'simple_script.py'的内容。 它是否引用一些特殊的第三方库?
我有一个不同的问题py2exe无法找到pywintypes27.dll – 它无法找到build_exe.isSystemDLL内的文件。 解决方案是在路径中添加DLL的位置(至少黑客是这样做的):
import site for site_path in site.getsitepackages(): pywin32_path = os.path.join(site_path,"pywin32_system32") if os.path.isdir(pywin32_path): os.environ["PATH"] = os.environ["PATH"] + ";" + pywin32_path
这里也有类似的问题: https : //github.com/ContinuumIO/anaconda-issues/issues/37 。 我看到你使用Anaconda,我认为这是anaconda和python解释器的问题。
从本质上讲,当使用IPython解释器时,问题不存在! 尝试例如:
C:...User> python >>>import pythoncom Traceback (most recent call last): File "<stdin>",line 1,in <module> File "C:Program FilesAnaconda3libsite-packagespythoncom.py",in <module> import pywintypes File "C:Program FilesAnaconda3libsite-packageswin3libpywintypes.py",globals()) File "C:Program FilesAnaconda3libsite-packageswin32libpywintypes.py",filename)) ImportError: No system module 'pywintypes' (pywintypes34.dll)
另一方面,尝试
C:...User> ipython In [1]: import pythoncom In [2]: pythoncom Out[2]: <module 'pythoncom' from 'C:\Program Files\Anaconda3\lib\site-packages\win32\pythoncom34.dll'>
使用IPython时没有问题!
子,直到这个问题得到解决,你可以使用IPython解释器来运行麻烦的.py文件,例如:
C:...User> ipython setup.py
这应该工作。 你应该从命令中分离出你想传递给脚本的参数,否则IPython可能试图解析它,例如使用:
C:...User> ipython setup.py -- arg1 arg2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。