我試圖使用畫中畫在~/.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