ピップを使用してパッケージをローカルに~/.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
Numpyはpipでうまくいきません。 '/ usr/bin /'に 'f2py'をインストールしようとしています。おそらく、これはPythonの 'site-packages'の外にあるからです。たぶん、そこにインストールする必要がある他のファイルがありますし、pipはそれを処理する方法を知らないようです。 virtualenvがここで助けになるかどうかは分かりません。 – tiago
@tiago * Numpyはpipでうまくいきません。 /usr/bin/.*にf2pyをインストールしようとしています。いいえ、そうではありません。権限の不足のために失敗する**システムnumpyを**アンインストールしようとするピップです。私の答えを見てください。 –