python包的多次安装

python包的多次安装,python,bash,pythonpath,protocol-buffers,Python,Bash,Pythonpath,Protocol Buffers,在我的系统上,在两个位置安装了相同的软件包。一个来自超级用户,另一个来自本地用户,但从超级用户安装的软件包是旧版本。有一些函数缺失,但当我 运行脚本时,它总是在默认位置查找,找不到模块,并且无法进一步运行。如何指定在运行脚本时,它会查看本地安装位置。我编辑了.bashrc,将PYTHONPATH设置为本地安装位置。它仍然不起作用 超级用户安装: /usr/lib/python2.7/dist-packages/google/__init__.pyc $HOME/.local/lib/pytho

在我的系统上,在两个位置安装了相同的软件包。一个来自超级用户,另一个来自本地用户,但从超级用户安装的软件包是旧版本。有一些函数缺失,但当我 运行脚本时,它总是在默认位置查找,找不到模块,并且无法进一步运行。如何指定在运行脚本时,它会查看本地安装位置。我编辑了.bashrc,将PYTHONPATH设置为本地安装位置。它仍然不起作用

超级用户安装:

/usr/lib/python2.7/dist-packages/google/__init__.pyc
$HOME/.local/lib/python2.7/site-packages/google/__init__.pyc
本地安装:

/usr/lib/python2.7/dist-packages/google/__init__.pyc
$HOME/.local/lib/python2.7/site-packages/google/__init__.pyc
.bashrc编辑:

 export PYTHONPATH=$HOME/.local/lib/python2.7/site-packages:$PYTHONPATH

有关解决方法,请参阅。Python基本上遵循一个级联过程来加载模块,首先搜索其模块缓存以查看模块是否在加载之前以及从哪个路径加载,然后从
find_module()
中查找位置,最后点击
sys.path
为了简单起见,最好使用变通方法,考虑调查和使用Python 3。这将允许您为python脚本创建虚拟环境,每个脚本的依赖项将包含在每个单独的虚拟环境中。在这种情况下,脚本将查找其虚拟环境中的依赖项,而不是系统安装的libs