我发现我的 pythonpath 环境变量被忽略了。我在 ubuntu 上使用 python 2.6。我有.bashrc
以下内容:
export PTYHONPATH=/my/home/mylibs/lib/python2.6/site-packages/:$PYTHONPATH
然后我安装一个新版本的numpy
使用:
python setup.py install --prefix=/my/home/mylibs/
并在本地正确安装。但是,当我尝试安装setup.py
依赖于新版本 numpy 的其他包(也使用 )时,他们找不到它,因为默认情况下加载的 numpy/usr/llib
是PYTHONPATH
. 我PYTHONPATH
的设置正确,但系统范围的目录仍然推翻它。
如何解决这个问题?我只想numpy
在我这样做时访问我的本地版本import numpy
。我看到了与 python 2.4 相关的其他帖子,但据我所知,它从未得到解决。另外,我现在想在不安装 pip 或 virtualenv 的情况下执行此操作。似乎应该可以使用--prefix
or--home
传递给setup.py
然后更改的选项,PYTHONPATH
但这对我不起作用......lib
首先读取系统范围的目录。
编辑:我尝试遵循建议并使用pip
. 我在系统范围内安装了一个pip
无法识别的旧--user
版本(0.3 版)。我尝试自行升级pip
,pip
但当然失败了,因为我无法在本地安装它,所以pip install pip --upgrade --user
不是一个选项。我下载了一个新版本并在本地安装在我的主目录中,但是当我在提示符下pip
键入时,系统范围内的旧版本仍在使用。pip
我查看了pip
包,发现runner.py
所以我尝试使用它来安装包:
runner.py install --user numpy --upgrade
这仍然失败,权限被拒绝:
OSError: [Errno 13] Permission denied: '/usr/bin/f2py2.6'
它看起来像--user
坏了。我也不确定这将如何解决系统范围的python使用系统范围的包的事实/usr/lib
......有解决方案吗?现在似乎几乎不可能在 python 中安装本地包。