3

これはどこかが壊れた状態のようです。

まず、virtualenv 内で、pip freezeipython がインストールされていることを報告します

% workon myvenv
(myvenv)% pip freeze | grep ipython
ipython==0.12.1

...しかし、ipythonvirtualenv 内から見たものは、virtualenvの下にインストールされたものではありません。

(myvenv)% which ipython
/usr/bin/ipython

実際、virtualenv の下にインストールされた ipython のコピーを「アンインストール」しようとすると、pip はそれを拒否します。

(myvenv)% pip uninstall ipython
Not uninstalling ipython at /usr/lib/python2.7/dist-packages, outside environment /home/yt/.virtualenvs/myvenv

また、新しいコピーのインストールも拒否します。

(myvenv)% pip install ipython
Requirement already satisfied (use --upgrade to upgrade): ipython in /usr/lib/python2.7/dist-packages
Cleaning up...

ところで、のコピーpippythonvirtualenv 内で見られるものは

(myvenv)% which pip
/home/yt/.virtualenvs/myvenv/bin/pip
(myvenv)% which python
/home/yt/.virtualenvs/myvenv/bin/python

明らかに、いくつかの状態がここで破損しています。どの状態かを突き止めたいと思います。私が主に興味を持っているは、何が間違っているかを理解することであり、次にそれを修正することにのみ関心があることを強調します。IOW、私は問題のトラブルシューティングに興味があり、やみくもに試行錯誤して問題を「修正」することに興味はありません。私の経験では、このような盲目的な混乱によって生み出された「修正」は明らかであり、実際には根底にあるもつれを悪化させるだけであることがよくあります.

私の当面の質問は次のとおりです。

  1. なぜvirtualenvがアクティブなのにpip見ているのですか?/usr/lib/python2.7/dist-packages
  2. virtualenvの下に何もないのに、なぜ がpip freeze表示されるのですか?ipython==0.12.1ipython
4

1 に答える 1