我试图使用画中画在~/.local
本地安装包本地安装包。问题是该软件包(旧版本)已经在系统上全局可用。尽管全球Python包目录不在我PYTHONPATH
,PIP仍拒绝安装,以为包装的要求得到满足。这类似于这里所描述的问题,但我不使用sudo
因此该解决方案并不适用:pip - Requirement already satisfied?使用画中画尽管全球满足要求
如果我做的:
pip install --user numpy
它说:
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/local/lib/python2.7/dist-packages/numpy-1.6.2-py2.7-linux-x86_64.egg
然而, /usr/local/lib/...
不在我的PYTHONPATH
中。 PYTHONPATH
中唯一的是~/.local
。
如果我尝试这样做:
pip install --user --upgrade numpy
它下载numpy的和编译它,然后觉得我做一个全球性尽管--user标志的安装,我也得到:
Installing collected packages: numpy
Found existing installation: numpy 1.6.2
Uninstalling numpy:
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/basecommand.py", line 107, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/commands/install.py", line 261, in run
requirement_set.install(install_options, global_options)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 1162, in install
requirement.uninstall(auto_confirm=True)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 495, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 1492, in remove
renames(path, new_path)
File "/usr/local/lib/python2.7/dist-packages/pip-1.2.1-py2.7.egg/pip/util.py", line 273, in renames
shutil.move(old, new)
File "/usr/lib/python2.7/shutil.py", line 300, in move
os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/bin/f2py'
如何这个问题能解决?我不确定它为什么会在通过--user
标志时尝试执行需要全局权限的任何操作。
有没有办法告诉PIP只使用~/.local
和不顾一切的系统上的其他人? (我不希望使用的virtualenv这是不必要在这里,我不想多的环境中,只有一个!)
你为什么不使用'virtualenv',这不是创建它的确切原因? – dm03514 2013-04-28 23:32:05
numpy用pip打得不好。它试图在'/ usr/bin /'上安装'f2py'。可能是因为它在python的'site-packages'之外。很有可能会有其他文件必须在其外部安装,并且pip似乎不知道如何处理它。不确定virtualenv是否有帮助。 – tiago 2013-04-29 09:59:40
@tiago * numpy与pip不兼容。它试图在/usr/bin/上安装f2py。否,它不会。这是点子试图**卸载**系统numpy由于缺乏权限而失败。看到我的答案。 – 2013-11-30 17:49:53