Pythonpath仍然被忽略,无法使用pip在本地安装

Pythonpath仍然被忽略,无法使用pip在本地安装,python,numpy,pip,setuptools,distutils,Python,Numpy,Pip,Setuptools,Distutils,我发现我的pythonpath环境变量被忽略了。我在ubuntu上使用Python2.6。我的.bashrc中包含以下内容: export-PTYHONPATH=/my/home/mylibs/lib/python2.6/site-packages/:$PYTHONPATH 然后,我使用以下方法安装新版本的numpy: python setup.py安装--prefix=/my/home/mylibs/ 它可以在本地正确安装。但是,当我尝试安装依赖于新版本numpy的其他软件包(也使用setup

我发现我的pythonpath环境变量被忽略了。我在ubuntu上使用Python2.6。我的
.bashrc
中包含以下内容:

export-PTYHONPATH=/my/home/mylibs/lib/python2.6/site-packages/:$PYTHONPATH

然后,我使用以下方法安装新版本的
numpy

python setup.py安装--prefix=/my/home/mylibs/

它可以在本地正确安装。但是,当我尝试安装依赖于新版本numpy的其他软件包(也使用
setup.py
)时,他们找不到它,因为默认情况下,加载的numpy是
/usr/llib
中的,而不是我的
PYTHONPATH
中指定的。My
PYTHONPATH
设置正确,但系统范围的目录仍在否决它

如何解决这个问题?我只想在导入numpy时访问我的本地版本
numpy
。我在Python2.4中看到了与此相关的其他帖子,但据我所知,它从未得到解决。另外,我现在不想安装pip或virtualenv。似乎可以使用传递到
setup.py
--前缀
--主页
选项,然后更改
PYTHONPATH
,但这对我不起作用。。。首先读取系统范围的
lib
dir

编辑:我尝试按照建议使用
pip
。我在系统范围内安装了一个旧的
pip
,它无法识别
--用户(0.3版)。我试图用
pip
本身升级
pip
,但当然失败了,因为我无法在本地安装它,所以
pip安装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安装本地软件包几乎是不可能的。

好的,python将使用它找到的第一个软件包。PYTHONPATH将附加到sys.path,位于系统路径之后。因此,它通常会首先找到系统1。但是每个用户的“官方”软件包目录似乎放在这之前。因此,请创建您的个人网站包目录:

mkdir -p $HOME/.local/lib64/python2.7/site-packages
mkdir $HOME/bin
(您可能需要将“lib64”更改为“lib32”或仅更改为“lib”)

在我的系统中,此目录位于系统目录之前。但您应该通过打印sys.path来验证它

然后将软件包安装到那里。但是,最新的
pip
版本中的
--user
选项应该已经将其放置在那里了

作为一个列表,您可以操纵
sys.path
。您可以在系统站点包之前将目录插入sys.path,然后导入numpy

您正在从脚本安装中获取权限错误,并尝试将其放在系统位置。您可以传递其他选项以在$HOME/bin目录中安装脚本

按如下方式安装:

pip install --user --install-option="--install-scripts=$HOME/bin"

运行
PYTHONPATH=“/path/to/some/where:$PYTHONPATH”python-c”import sys;打印“\n”.join(sys.path)
是否首先看到新路径?使用带有
--user
选项的pip可以解决您的问题。为什么不想安装它?另外,您是否在系统范围的站点软件包目录中安装了numpy?为什么不使用
sudo apt get install python numpy
?@Keith:是的,有一个系统范围的numpy安装我无法控制-这就是我试图解决的问题。我希望使用我的本地版本instead@Keith:我确实安装了numpy,虽然我没有root(它无法识别
--user
),但它在我的系统上运行。它已成功安装,但/usr/中的系统范围版本仍处于读取状态。。。有什么想法吗?我刚刚用
--user
尝试了
pip1.1
,但它仍然没有在本地安装东西。如果我这样做:
pip安装--user pandas
,它将失败,因为
OSError:[Errno 13]权限被拒绝:'/usr/bin/f2py2.6'
。它仍尝试更改系统范围的目录…此目录不会放在第一位。。。系统路径是first@user248237这不可能,因为site.py代码显式地将用户站点目录放在系统站点目录之前。除非你的网站管理员做了一些非常奇怪的事情。