Pythonpath,忽略特定的站点包并使用本地安装/存储库

时间:2014-03-01 10:02:31

标签: python pip setup.py pythonpath

我需要在我们的服务器上使用更新版本的特定python包(brian)。但是,我没有管理员权限,所以我无法更新服务器上安装的python包。

因此,我尝试使用pip install --user --ignored-installed brian进行本地安装。这不起作用,这只会产生以下控制台输出:

Downloading/unpacking brian
  Running setup.py egg_info for package brian

Cleaning up...

接下来,我尝试了pip install --user --upgrade brian。这也不起作用:

...
    shutil.move(old, new)
  File "/usr/lib/python2.7/shutil.py", line 300, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/share/pyshared/brian-1.3.1.egg-info'

最后,我尝试从github检出实际的brian存储库,并将位置添加到我的bashrc文件中的python路径中:

export PYTHONPATH=~/python/pypet:~/python/brian:...:$PYTHONPATH

这也不起作用: - / 如果我运行python(2.7.3)并导入brian,它仍然会在全局站点包中使用brian发行版,而不是存储库中的发行版。

如果能使其中一种方法有效,我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

我不确定为什么第三种方法不起作用,但也许你想使用virtualenv。它可以为每个虚拟环境设置不同的包,并正确处理PYTHONPATH和pip安装。