2012-01-14 8 views
32

私はそのコマンドと、次のエラーを取得しています:ピップフリーズ> requirements.txtエラー

$pip freeze > requirements.txt 
Warning: cannot find svn location for distribute==0.6.16dev-r0 

これは、事前に私のrequirements.txtファイルです:

Django==1.3 
django-registration==0.7 

答えて

38

まず、私はあることに注意したいですエラーではなく、むしろ警告(これは深刻なものですが)です。

これはgithubリポジトリのによって判断されるpipの未解決の問題です。問題は、pipがSVNではないリポジトリに保持されている開発版をインストールしているときに発生します。一例として、その問題のページが用意されています。これは、標準エラー出力にこの結果を出力します

mkvirtualenv test --no-site-packages 
workon test 
pip install flask==dev 
pip freeze > requirements.txt 

を:

Warning: cannot find svn location for Flask==0.9-devdev-20120114 

をしかし、ファイルがまだあります:

## FIXME: could not find svn URL in dependency_links for this package: 
Flask==0.9-devdev-20120114 
Jinja2==2.6 
Werkzeug==0.8.2 
wsgiref==0.1.2 

しかし、私はしません将来このファイルを使用してFlaskをインストールすることができます。ここを参照してください:

mkvirtualenv test2 --no-site-packages 
workon test2 
pip install -r requirements.txt 

ウィル出力誤差:

Downloading/unpacking Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) 
Could not find a version that satisfies the requirement Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) (from versions:) 
No distributions matching the version for Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) 
Storing complete log in /Users/dgrtwo/.pip/pip.log 
+3

これはすべて素晴らしいです..解決策は何ですか? – abbood

1

私はDjangoのプロジェクトを作成し、Herokuのにデプロイしようとしている同じ問題に遭遇しました。問題は複数のdjangoのコピーに関連していたと思います。

にあるdjangoを削除する
/usr/local/lib/python2.7/dist-packages/django 

この問題を解決するには、再インストールが必要でした。私は警告なしでrequirements.txtを作成することができました。

20
sudo pip install --upgrade distribute 
+5

ここで何が起こっているのか説明できますか? –

+1

この問題は配布パッケージのバグですので、アップグレードする際に問題を解決してください。 –

+0

また、MikeTwoの答えをチェックしてください(そしてupvote):http://stackoverflow.com/a/28596824/342293 – Ron

3

はコメントするのに十分な担当者を持っていないが、sudo pip install --upgrade distributeは私のピップのインストールをborked。ピップバージョン1.4.1。このコマンドを実行すると、pip freezeはAssertionErrorを返します。

THATの修正を組み合わせるsudo pip install setuptools==7.0

2つの解決策は、SVN URLの警告を固定されています。

0

ロンのアイデアも私のピップのインストールを骨抜きにして、MikeTwoの修正はそれを修正しませんでした。

(UzLAのコメント)のようにピップを外して再インストールしました。パッケージを削除します。

sudo apt-get remove --auto-remove python-pip 

は公式ピップのインストーラをダウンロードします。

wget https://bootstrap.pypa.io/get-pip.py 

はそれをインストールします。

sudo python get-pip.py 

pip freezeこの後に正常に働いていました。それはSNIMissingWarningInsecurePlatformWarningを与えました、the docsを参照してください、しかし、それはここで問題ではありません。

注::/ usr/local/bin/pipから/ usr/binへのシンボリックリンクを設定するために、この修正のソースは4番目のステップを持っています。これは必要ではないかもしれません。試してみてくださいstat /usr/local/bin/pip。 200バイト程度の普通のファイルを報告するはずです。 less /usr/local/bin/pipの内容を見ることができます。次にecho $PATHを入力して/usr/local/binが入っているかどうかを確認してください。そうであれば、シンボリックリンクは必要ありません。

関連する問題