Python路径在哪里被操纵?

问题描述 投票:1回答:1

在一台服务器上,我可以导入库,而在第二台服务器上,我不能。该库通过两台服务器上的NFS共享。

[我发现两台服务器之间的Python路径不同,但是Python二进制文件是相同的,是从标准ubuntu 16.04存储库安装的,并且两台服务器上都未设置$PYTHONPATH

服务器1:

$ echo $PYTHONPATH

$ python
>>> import sys; sys.path
['', '/usr/lib/python2.7', '...', /usr/local/lib/python2.7/dist-packages', '/home/user/app/src/python', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/wx-3.0-gtk2']

服务器2:

$ echo $PYTHONPATH

$ python
>>> import sys; sys.path
['', '/usr/lib/python2.7', '...', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

我如何理解该库的定义位置,以便将相同的行为复制到服务器2?

奇怪的事实是,库位于/usr/local/lib/usr/lib的路径之间。

python pythonpath library-path
1个回答
0
投票

Sys模块文档说sys.path

字符串列表,指定模块的搜索路径。从环境变量PYTHONPATH初始化,再加上取决于安装的默认设置

参见:https://docs.python.org/3/library/sys.html

因此必须有不同的取决于安装的默认值。检查确切的python版本。也许python模块二进制文件来自不同的apt仓库。也许python命令来自两个服务器中的不同位置-请通过以下方式进行检查:

which python
© www.soinside.com 2019 - 2024. All rights reserved.