どのように私はそれぞれ、すべてのアップストリームバージョンにアップグレードせずにvirtualenvのベースの展開方法を使用していますか?
-
27-09-2019 - |
質問
先週の金曜日は、私は私のDjangoプロジェクトのためのRPM仕様を構築しました。 RPMは、virtualenv
を作成し、パッケージにpip
とプットすべてを経由して依存関係をダウンロードします。今日、私はBeautifulSoup 3.2がリリースされていることが判明しました。幸いにも、私は失敗ため、ビルドのが分かったので、requirements.txtに固定私のBeautifulSoupのバージョンを持っていた。
これは完全に異なる問題です:どのように私は避けてくださいアップグレードのものは、将来的に行うのですか? BeautifulSoupはは、PyPIからの以前のバージョンをすべて削除したので、私は私が実際に対してテストしたバージョンをダウンロードすることができません。 pip
のダウンロードキャッシュはpip
は常に最初は、PyPIをチェックしようとしているので、ここでも助けにはならない。
あなたはこのような状況を避けるために何かをお勧めしますか?
解決
まず、これは異常事態です。私はすべての古いリリースにBeautifulSoupが行う方法を取り外し、別のパッケージを見たことがありません。私はむしろ、ユーザが敵対的な行動は、深刻なセキュリティ上の修正の場合には、おそらく以外は考慮しています。
それはあなたがピップを使用して信頼性の高いビルド処理をしたい場合、あなたは本当にあなたがローカルに依存しているすべてのパッケージをミラーリングする必要がある、と述べました。これを行うのは難しいことではありません。あなたはその後、ちょうどインデックス化、ウェブ務めたディレクトリにそれらをダンプし、そこ(ポイントピップに要件ファイル内のリンクを--find使用し、すべてのパッケージのtarballを取得するためにピップの--downloadオプション(または既存のピップのキャッシュ)を使用することができますプラス)は、PyPIを使用しないことを伝えるために--no-インデックスます。
他のヒント
問題のファイルがまだありますだけではなく、パッケージ名の直接のURLを提供します:
ます。http://www.crummy。 COM /ソフトウェア/ BeautifulSoup /ダウンロード/ 3.xの/ 3.0.8.tar.gzする
例