我想将Python代码转换为独立的可执行文件,代码使用numpy,scipy和Pymc3模块。我使用的是Python 3.6.4。我在Pycharm IDE中使用虚拟环境创建了项目。我用来运行pyinstaller的命令如下:
venv/Scripts/pyinstaller --onefile src/POD.py
venv是存储虚拟环境的文件夹,src是我的Python源代码所在的文件夹。POD.py已保存。Pyinstaller运行很好生成一些警告消息,但是当我尝试运行pyinstaller生成的可执行文件时,它会抛出错误
Traceback (most recent call last):
File "POD.py", line 196, in <module>
File "POD.py", line 79, in train
File "Lib\site-packages\theano\tensor\var.py", line 155, in __mul__
File "Lib\site-packages\theano\gof\op.py", line 615, in __call__
File "Lib\site-packages\theano\tensor\elemwise.py", line 482, in make_node
File "Lib\site-packages\theano\tensor\elemwise.py", line 438, in get_output_info
File "Lib\site-packages\theano\tensor\elemwise.py", line 157, in __init__
File "Lib\site-packages\theano\gof\op.py", line 1308, in __init__
File "Lib\site-packages\theano\gof\op.py", line 1331, in load_c_code
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\User\\AppData\\Local\\Temp\\_MEI126642\\theano\\tensor\\c_code\\dimshuffle.c'
[4756] Failed to execute script POD
好像它试图在虚拟环境之外找到文件dimshuffle.c。实际上,我可以看到虚拟环境中有一个文件夹,里面有dim_shuffle.c代码。我可以在以下文件夹中的虚拟环境中找到它。
venv/Lib/site-packages/theano/tensor/c_code/dimshuffle,c
我的问题是如何指示pyinstaller在虚拟环境文件夹中查找dimshuffle?
发布于 2018-09-25 10:58:50
您可以通过编辑spec文件来扩展sys.path。
pyi-makespec --paths = / path / to / thisdir \
--paths = / path / to / otherdir myscript.py
有关更多信息,请参阅此
发布于 2019-03-15 10:04:37
请问问题解决了吗a
https://stackoverflow.com/questions/-100006154
复制相似问题