2013-09-03 19 views
11

自宅の新しい開発マシンに開発環境をセットアップしようとしています。私はちょうどUbuntuをインストールしましたが、今私はWebサーバーからリモートリポジトリをクローンし、依存関係をインストールして作業を開始しようとしています。Pipは起動したvirtualenvにパッケージをインストールせず、requirements.txtを無視します

これまでのところ、私は手動でvirtualenvvirtualenvwrapperをpypiからインストールし、私の端末を起動するときに私のvirtualenvをソースに適切に編集しました。私は~/projects/project-name/websitename.comにレポをクローンしました。それから私はvirtualenvwrapperからmkvirtualenv env-nameまでを~/projects/project-name/websitename.comから使いました。これは、私が複製しているウェブサーバのfile-structure/setupを正確に反映しています。ここまでは順調ですね。

私はdevサーバーにログインしてvirtualenvを有効にし、pip freeze -l > req.txtを使用して依存関係リストとscpをローカルマシンに表示します。ローカルマシンのvirtualenvを有効にし、~/projects/project-name/websitename.comに移動してpip install -r path-to-req.txtを実行し、何も問題がないかのようにすべての依存関係を実行します。しかし、manage.py syncdbにしようとすると、コアのdjangoパッケージが見つからないというエラーが表示されます。なんてこったい?だから私は何とかDjangoがインストールに失敗したと思う、私はrun pip install Django==1.5.1、それは正常に完了します。サイトをもう一度セットアップして、django_extensionsという名前のモジュールについて別のエラーが発生しました。さて、どうしたらいいですか、私はこれらのパッケージのすべてをpipでインストールしましたか?

だから私はpip freeze -l > test.txtcat test.txtですが、それは何をリストしていますか? Django==1.5.1、私は手動でインストールした1つのパッケージです。指定されたリストから私の依存関係を私のvirtualenvにインストールするのはなぜですか?私はここで何がうんざりしていますか?

-EDIT -------------私が唯一の1 virtualenvのを持っており、それがアクティブになる

私はvirtualenvにピップするパスを与えるピップ

+3

あなたがしていることはすべてうまくいくようですが、「どのpip」でデバッグしようとしますか? – elyase

+0

'find〜/ .virtualenvs -type d -iname"パッケージ化 "を実行して、必要なパッケージがインストールされているかどうかを確認してください。また、 'https:// gist.github.com/insin/1425703'を使うことをお勧めします。これはあなたのbashで起動されたvirtualenvについて素早いプロンプトを表示します。 – sagarchalise

+0

あなたのコマンドを実行すると、私のvirtualenv内の唯一のパッケージは、手動でpipにDjangoをインストールするよう頼んだものです。要件ファイルのpipで処理されたものはすべて無視されました。私は何とか私が起動したvirtualenvを示すすばらしいプロンプトを得る。 – leotemp

答えて

6

私の通常のワークフローは

pip freeze > someFile.txt 

にあり、その後

pip install -r someFile.txt 
とインストール

これはうまくいくはずです。残念ながら、私は本当に以外

  1. あなたは本当にあなたがしていると思うvirtualenvの中にあることを確認してくださいあなたに何かを伝えることはできません。ただ、それをアクティブにする

    workon yourVirtualEnvName 
    

    を実行することを確認します問題の場合には

  2. あなたのvirtualenv内にpipがあることを確認してください。

    which pip 
    

    は私に

申し訳ありませんが、私はあなたに、より具体的な答えを与えることはできません

/path/to/home/.virtualenvs/myVirtEnv/bin/pip 
を与えます。私は半定期的にこれを行う必要があり、私はそれを依存関係をスキップして問題がなかったことはありません。運が良かった!

+2

を使ってインストールします。ええと、pip install -r someFile.txtを実行しています。ダウンロードしてインストールしていますが、パッケージは存在しません。例えば、それは言う: ダウンロード/アンパックdjango-extensions == 1.1.1(-r req.txt(行14)から) ダウンロードdjan​​go-extensions-1.1.1.tar.gz(149kB):149kBダウンロード django-extensionsパッケージのsetup.py egg_infoの実行 。しかし、django-extensionsはインストールされていないように見えますが、呼び出されるとエラーが発生します。私は凍結をピップするときにも表示されません。 – leotemp

+5

あなたはこれに解決策を提出しましたか?私はまったく同じ問題を抱えています。 – ajay

3

少し前にこの問題のいくつかのバリエーションで苦労しました。それは私の詰まった.bash_profileファイルで終わった。

はあなた.bash_profile/.bashrc内部台無しあなたのvirtualenvのをかもしれないもの、など$VIRTUAL_ENV$PYTHONHOMEまたは$PYTHONPATH環境変数を持っていないことを確認してください。

2

私はこれが古い投稿だと知っていますが、同様の問題が発生しました。私の場合、原因はpip installコマンドをsudoで実行していたことが原因でした。これによりコマンドがグローバルに実行され、パッケージはグローバルなpythonパスにインストールされます。

誰かを助ける希望。

関連する問題