[解決済み] pipがvirtualenvの代わりにグローバルなsite-packagesにインストールする。
質問
使用方法
pip3
でパッケージをインストールします。
virtualenv
を指定すると、そのパッケージは virtualenv フォルダの中ではなく、グローバルな site-packages フォルダにインストールされます。以下は、OS X Mavericks (10.9.1) 上での Python3 と virtualenv のセットアップ方法です。
Homebrew を使って Python3 をインストールしました。
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
を変更しました。
$PATH
の変数を
.bash_profile
;に次の行を追加した。
export PATH=/usr/local/bin:$PATH
実行中
which python3
戻る
/usr/local/bin/python3
(を返す(シェルを再起動した後)。
注意してください。
which python3
はまだ / を返します。
usr/bin/python
を返しますが。
インストールされている
virtualenv
使用中
pip3
:
pip3 install virtualenv
次に、新しい
virtualenv
を作成し、それをアクティブにします。
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
注意:-p python3 を指定しないと、virtualenv の bin フォルダから pip がなくなります。
実行中
which pip
と
which pip3
はどちらも virtualenv フォルダを返します。
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
これで、起動したvirtualenvでpipを使ってMarkdownなどをインストールしようとすると、pipはvirtualenvのsite-packagesフォルダではなく、グローバルsite-packagesフォルダにインストールされます。
pip install markdown
実行中
pip list
が返されます。
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
の内容は
/Users/kristof/VirtualEnvs/testpy3/lib/python3.3/site-packages
:
__pycache__/
_markerlib/
easy_install.py
pip/
pip-1.5.dist-info/
pkg_resources.py
setuptools/
setuptools-2.0.2.dist-info/
の内容は
/usr/local/lib/python3.3/site-packages
:
Markdown-2.3.1-py3.3.egg-info/
__pycache__/
easy-install.pth
markdown/
pip-1.4.1-py3.3.egg/
setuptools-2.0.1-py3.3.egg
setuptools.pth
virtualenv-1.11-py3.3.egg-info/
virtualenv.py
virtualenv_support/
ご覧のように グローバル site-packagesフォルダはMarkdownを含み、virtualenvフォルダは含んでいません。
注意: 私は以前、別の VM に Python2 と Python3 をインストールしていました (次の これら の指示に従った)、Python3 で同じ問題が発生しました。Python2 ベースの仮想環境にパッケージをインストールすると、完璧に動作しましたが。
どんなヒントでも、ヒントでも、...非常に感謝します。
どのように解決するのですか?
面白いことに、私はちょうど全く同じ問題に直面していました。最終的に解決しましたが、何が原因だったのか、まだわかりません。
あなたの
bin/pip
と
bin/activate
スクリプトを使用します。で
bin/pip
で、shebangを見てください。それは正しいですか?もしそうでなければ、修正してください。次に、行の〜で
42
の中に
bin/activate
で、virtualenvのパスが正しいかどうか確認してください。以下のような感じになります。
VIRTUAL_ENV="/Users/me/path/to/virtual/environment"
間違っていたら訂正してください。
deactivate
で、次に
. bin/activate
で、お互いの問題が同じ原因であれば、うまくいくはずです。それでもダメなら、とにかく正しい道を歩んでいるのです。私もあなたと同じように問題解決のルーチンを経験しました。
which pip
を何度も何度も繰り返し、スタックトレースを追ったりしました。
を絶対に確認する。
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
はあなたが望むものであり、他の似たような名前のテストプロジェクトを参照するものではありません(私もこの問題を抱えており、どのように始まったのか見当もつきません。私の疑いは、同時に複数のvirtualenvsを実行していることです)。
このどれもがうまくいかない場合、一時的な解決策は、Joe Holloway が言ったように、次のようになるかもしれません。
仮想環境の pip をフルパスで実行すれば (つまり、実行可能パスの検索に頼らない)、環境を有効にする必要すらありません。それは正しいことをしてくれるでしょう。
おそらく理想的ではありませんが、ピンチの時にはうまくいくはずです。
私の最初の質問に対するリンクです。
関連
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] pipで特定のバージョンのパッケージをインストールする
-
[解決済み] ローカルディレクトリからrequirements.txtファイルに従ってpipを使用してパッケージをインストールするにはどうすればよいですか?
-
[解決済み] Pythonのsite-packagesディレクトリの場所を見つけるにはどうしたらいいですか?
-
[解決済み] pipでインストールしたすべてのパッケージを削除する最も簡単な方法は何ですか?
-
[解決済み] pipはどこにパッケージをインストールするのですか?
-
[解決済み] pipでローカルファイルシステムフォルダからvirtualenvにPythonパッケージをインストールする。
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] models.pyを複数のファイルに分割する
-
[解決済み] Seleniumから要素の属性を取得するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cronとvirtualenvについて
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonでnumpy.linalg.eigを使用した後の固有値と関連する固有ベクトルのソート
-
[解決済み] Django の Forms のテストはどのように書くべきですか?