1

先週の金曜日、DjangoプロジェクトのRPM仕様を作成しました。RPMはを作成しvirtualenv、を介して依存関係をダウンロードしpip、すべてをパッケージに入れます。本日、BeautifulSoup3.2がリリースされたことを知りました。幸い、BeautifulSoupバージョンをrequirements.txtに固定していたので、ビルドが失敗したことがわかりました。

今ではまったく別の問題があります。将来、アップグレードを回避するにはどうすればよいですか。BeautifulSoupは以前のバージョンをすべてPyPIから削除したため、実際にテストしたバージョンをダウンロードできません。のダウンロードキャッシュは、常に最初にPyPIをチェックしようとするpipため、ここでも役に立ちません。pip

この状況を回避するために何かをお勧めできますか?

4

2 に答える 2

2

まず、これは異常な状況です。BeautifulSoup のように古いリリースをすべて削除するパッケージを見たことはありません。おそらく重大なセキュリティ修正の場合を除いて、かなりユーザーに敵対的な行動だと思います。

とはいえ、pip を使用した信頼性の高いビルド プロセスが必要な場合は、依存するすべてのパッケージをローカルでミラーリングする必要があります。難しいことではありません。pip の --download オプション (または既存の pip キャッシュ) を使用して、すべてのパッケージ tarball を取得し、それらをインデックス化された Web サービスのディレクトリにダンプし、要件ファイルで --find-links を使用して、そこに pip を指定することができます (プラス --no-index で PyPI を使用しないように指示します)。

于 2010-11-22T14:43:36.713 に答える
0

問題のファイルは引き続き見つかります。パッケージ名の代わりに直接URLを指定してください。

http://www.crummy.com/software/BeautifulSoup/download/3.x/3.0.8.tar.gz

例えば。

于 2011-01-07T09:54:13.867 に答える