11

yolk -lUbuntu10.04に114個のパッケージがインストールされているという情報が表示されます。を使用して新しいvirtualenvディレクトリを作成した後

virtualenv virt_env/virt1 --no-site-packages --clear

私はそれに切り替えました、私のプロンプトは変わりました、そしてそれからyolk -l私に同じ114のパッケージを再び与えます。

そこで何が起こっているのですか?

4

2 に答える 2

18

virtualenv を有効にするには、シェルの PATH を変更して、virtualenv の bin/ ディレクトリが最初になるようにします。これだけです。これは、「python」を実行すると、グローバル システムの python ではなく、virtualenv の Python バイナリのコピーが実行されることを意味します。

ただし、卵黄がグローバルにインストールされている場合、PATH 上の唯一の「卵黄」バイナリは /usr/local/bin/yolk などです。virtualenv を有効にしてもこれは変わりません (virtualenv bin/dir に「yolk」スクリプトがないため)。また、 /usr/local/bin/yolk スクリプトのシバン行には、システムの Python インタープリターが含まれています。

これが、virtualenv に yolk をインストールすると問題が解決する理由です。これは、virtualenv の python を shebang 行に持つ virtualenv bin/ dir に yolk スクリプトを追加するためです。

各 virtualenv に yolk をインストールしたくない場合は、/usr/local/bin から yolk スクリプト ラッパーをコピーして、virtualenv の bin ディレクトリに手動で変更し、shebang 行を手動で変更することもできます。 virtualenv の python。ただし、これは --no-site-packages virtualenv では機能しません。スクリプト ラッパーは、インポートする必要がある実際の yolk パッケージを見つけることができないためです。--no-site-packages virtualenv 内で yolk を使用したい場合、本当に唯一の選択肢はそこにインストールすることです。

于 2010-04-30T12:47:51.520 に答える
0

問題がパスに関連していない場合(おそらくそうだと思います)、プロジェクトディレクトリのlibおよびscriptsフォルダーを削除して、virtualenv設定をクリアします。投稿したコマンドラインを使用して、仮想環境を再作成します。virtualenvをアクティブにしてから、yolkをインストールします。

于 2010-06-21T03:09:32.553 に答える