web-dev-qa-db-ja.com

PyPIパッケージを更新する

バージョン番号を変更せずにPyPIパッケージを更新する方法はありますか?

最近PyPIにアップロードしたパッケージに小さなバグが見つかったと想像してみてください。バージョン番号を増やさずにコードを編集/再アップロードする方法はありますか?

[〜#〜] update [〜#〜]「バグ」とは、実際のソースコードのバージョン番号が間違っています-これは機能的なことではありません。package.versionを実行すると、現在のバージョンではなく前のバージョンを取得することを意味します(もちろん、これはわかっていますcould他の誰かのコードにバグを引き起こす、しかし私たちがアルファ版であることを考えると、バージョンの依存関係がまだ設定されていないことを願っています...)。ちなみに、明らかにサイレントバグ修正は悪いです!

UPDATE 22015年1月の時点で、提供されているソリューションは無効になっています 詳細についてはこの投稿を参照してください。

28
Alex

バグが発生した場合、alwaysnewリリースをアップロードします。

バージョン番号を増やし、変更ログを含め、それをブラウンバッグリリースと呼びます(それは私ではなく、本当に正直なところ、頭に茶色のバッグをかぶっている人でした)。

誰がリリースのコピーを(ミラー上で、githubページから直接、何でも)ダウンロードした可能性があるかどうかはわかりません決してあなたが知っていることはありません静かにバグを修正しました。さらに、リリースを置き換えたことを理解した人は、再インストールを強制する方法を学ぶ必要があります。

リリースされたパッケージをサイレントバグ修正に置き換えないでください。誘惑されないでください。新しいリリースを作成するだけです。

一方、配布ファイル自体をなんらかの方法で破損したために.Zipまたは.tar.gzファイルが破損した場合は、PyPIWebインターフェイスを使用してファイルを手動で削除して再実行する必要があります。アップロードします。

1月24日 の時点で、PyPIではファイル名を再利用することもできなくなります。つまり、同じバージョン番号の新しいファイルを再アップロードすることはできません。

パッケージエラーだけが間違っていた場合は、バージョン番号に.postN接尾辞を追加して(つまり、.post1.post2など)、リリース後の更新を示すことができます。

46
Martijn Pieters