我不熟悉Python和PyCharm。我在OSX High Sierra上跑步。在
我在PyCharm中创建了一个使用lxml的项目。我已经安装了lxml4.1.1作为项目依赖项,我可以在myProject/venv/lib/site package/lxml下看到它的文件
我可以在PyCharm中运行我的脚本没问题,但是我无法构建一个包含lxml库的可执行文件。在
我从命令行使用pyinstaller 3.3.1。项目会生成,但当我运行可执行文件时,我会得到他的输出:
回溯(最近一次呼叫): “文件”分析.py“,第13行,英寸 ImportError:没有名为lxml的模块 [4222]无法执行脚本分析
我一直在寻找一些命令行开关,告诉pyinstaller在venv目录下包含依赖项,但运气不好。在
任何帮助都将不胜感激。。。在
以下是我的构建命令和输出:
pyinstaller --clean --onefile analyze.py
51 INFO: PyInstaller: 3.3.1
51 INFO: Python: 2.7.10
60 INFO: Platform: Darwin-17.4.0-x86_64-i386-64bit
60 INFO: wrote /Users/gludwig/PycharmProjects/XML_Analyzer/analyze.spec
66 INFO: UPX is not available.
66 INFO: Removing temporary files and cleaning cache in /Users/gludwig/Library/Application Support/pyinstaller
76 INFO: Extending PYTHONPATH with paths
['/Users/gludwig/PycharmProjects/XML_Analyzer',
'/Users/gludwig/PycharmProjects/XML_Analyzer']
76 INFO: checking Analysis
76 INFO: Building Analysis because out00-Analysis.toc is non existent
76 INFO: Initializing module dependency graph...
79 INFO: Initializing module graph hooks...
130 INFO: running Analysis out00-Analysis.toc
138 INFO: Caching module hooks...
141 INFO: Analyzing /Users/gludwig/PycharmProjects/XML_Analyzer/analyze.py
2363 INFO: Loading module hooks...
2364 INFO: Loading module hook "hook-httplib.py"...
2364 INFO: Loading module hook "hook-encodings.py"...
2874 INFO: Looking for ctypes DLLs
2874 INFO: Analyzing run-time hooks ...
2879 INFO: Looking for dynamic libraries
2995 INFO: Looking for eggs
2995 INFO: Using Python library /System/Library/Frameworks/Python.framework/Versions/2.7/Python
2996 INFO: Warnings written to /Users/gludwig/PycharmProjects/XML_Analyzer/build/analyze/warnanalyze.txt
3009 INFO: Graph cross-reference written to /Users/gludwig/PycharmProjects/XML_Analyzer/build/analyze/xref-analyze.html
3087 INFO: checking PYZ
3087 INFO: Building PYZ because out00-PYZ.toc is non existent
3087 INFO: Building PYZ (ZlibArchive) /Users/gludwig/PycharmProjects/XML_Analyzer/build/analyze/out00-PYZ.pyz
3331 INFO: Building PYZ (ZlibArchive) /Users/gludwig/PycharmProjects/XML_Analyzer/build/analyze/out00-PYZ.pyz completed successfully.
3403 INFO: checking PKG
3403 INFO: Building PKG because out00-PKG.toc is non existent
3403 INFO: Building PKG (CArchive) out00-PKG.pkg
5669 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.
5685 INFO: Bootloader /Users/gludwig/Library/Python/2.7/lib/python/site-packages/PyInstaller/bootloader/Darwin-64bit/run
5685 INFO: checking EXE
5685 INFO: Building EXE because out00-EXE.toc is non existent
5685 INFO: Building EXE from out00-EXE.toc
5686 INFO: appending archive to EXE /Users/gludwig/PycharmProjects/XML_Analyzer/dist/analyze
5703 INFO: Fixing EXE for code signing /Users/gludwig/PycharmProjects/XML_Analyzer/dist/analyze
5716 INFO: Building EXE from out00-EXE.toc completed successfully.
此外,pyinstaller在build下生成一个警告文件,其中包含以下内容:
^{pr2}$我还尝试通过以下方式向pyinstaller提供venv中库项的路径:
pyi makespec--paths=~/PycharmProjects/XML_分析器\ paths=~/PycharmProjects/XML_Analyzer/venv/lib/python2.7/sitepackages/lxml分析.py pyinstaller—一个文件分析.py在
没用。在
最后解决了这个问题,把它贴在同一条船上的其他人:
事实证明,在使用virtualenv并希望进行构建时,必须添加环境变量PYTHONPATH以指向virtualenv目录的site packages目录。在我的例子中,它看起来像这样:
为了方便起见,我将它添加到virtualenv创建的激活文件中,以便在激活virtualenv时自动设置它。我还在deactivate部分添加了一个“unsetpythonpath”。在
如果在virtualenv设置环境时自动完成,这将是非常有用的!在
乔治给我的答案是正确的,但我选择了另一条路;)
我使用
paths
命令行选项(请参见here)来指示站点包目录的位置,这为我解决了这个问题。 我在使用windows,想要一个单一的可执行文件,所以这是命令行相关问题 更多 >
编程相关推荐