你好像有点不标准
python
安装:
我在Linux中安装了python
$ which python
/grid/common/pkgs/python/v2.7.6/bin/python
可能会导致
pyinstaller
找不到
libpython
系统中的文件。从
When Things Go Wrong
部分
pyinstaller安装程序
文件:
但是,其中一个错误可能令人费解:
IOError("Python library not found!")
PyInstaller需要打包Python库,它是
Python解释器的主要部分,作为动态负载链接
图书馆。此文件的名称和位置因
正在使用平台。
在Linux和Python2.7上,当您安装
python2.7-dev
,那些
libpython*
文件通常位于
/usr/lib/x86_64-linux-gnu/
:
$ apt-get install python2.7-dev
$ find /usr/lib -name libpython*
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7-pic.a
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.a
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so
/usr/lib/x86_64-linux-gnu/libpython2.7.a
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1
/usr/lib/x86_64-linux-gnu/libpython2.7.so
在我的机器上,当我跑
pyinstaller安装程序
在不设置任何其他选项的情况下,它会自动使用
libpython语言
从
/usr/lib/x86_64-linux-gnu
:
1632 INFO: Python library not in binary dependencies. Doing additional searching...
1654 INFO: Using Python library /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
对于使用非标准路径的案例,该帮助页还提供了一个解决方案:
PyInstaller查找python库的位置是
在不同的操作系统中是不同的,但是
/lib
和
/usr/lib
是
已签入大多数系统。如果你不能把python库放在那里,
尝试在环境变量中设置正确的路径
LD_LIBRARY_PATH
在Linux或
DYLD_LIBRARY_PATH
在OSX中。
现在,我不知道你是如何在你的系统上安装Python的,所以我不知道你的
libpython语言
文件是(或者如果它们甚至存在)。你能做的是:
-
找到通往
libpython语言
文件夹
-
可能在下面
/grid/common/pkgs/python/v2.7.6/lib
?
-
你可以的
find /path/to/pkgs -name libpython*
-
如果没有
libpython语言
文件,你需要先安装它。
-
在Linux上,这通常由
apt-get install python2.7-dev
-
将路径添加到
libpython语言*
文件到您的
图书馆路径
另一方面,我不熟悉Azure DevOps(如您在标题中所示),但我不建议安装
蟒蛇
(以及所有其他dep/packages)到一些非标准路径,特别是当您需要引用它的其他工具时。