2016-04-05 6 views
4

Markov chains with discrete state spacesの定常状態分布を計算するPypiのパッケージを用意しています。異なるPythonバージョンのPypi用パッケージの準備

Python 2.7とPython 3.5の両方で問題なく実行されるコードを持つメインファイル(仮想環境でテスト済み)。 setup.pyファイルは、Python 2.7でも動作するようです。

この時点から、どのように進むべきかがわかりません。 Pythonのバージョンごとにsetup.pyを実行して、Pythonのバージョンごとに別々のeggファイルを作成する必要がありますか?とにかく、両方のPythonバージョンでファイルが実行されていることを考えると、面倒なようです。パッケージを更新するたびにこれをやり直す必要があります。

ここではどのような良い方法がありますか?

答えて

2

あなたが良いリリースのチェックリストを探しているならば(あなたが「ピピにプッシュする前に何をすればいいですか?」)、Audrey RoyのPyPI Release Checklistを通過することはできません。それは生きた文書だし、必要に応じて更新されますが、高いポイントは以下のとおりです。

  • 更新あなたのchangelog
  • アップデートバージョン番号
  • あなたのテストは、PyPIのため
  • ビルドを実行し、両方のソースディストリビューションを使用して(sdist)とより新しいホイールフォーマット。
  • あなたのREADMEは、gitリポジトリタグ/リリース
  • 生産
  • アップデートをは、PyPIためのテストインスタンス仕事からインストール
  • プッシュすることを正しく
  • テストをレンダリングすること
  • チェック(twineを使用して)pypi test instanceにプッシュ

その他の重要性の低いものには次のものが含まれます。

をPythonのスタイルチェッカーを実行していない - (ホイール形式が導入されたので)、彼らはもはや必要では。 .gitignoreファイルに何かを追加してリポジトリに追加しないようにしてください。基本的に、ネイティブコードを使用しない限り、sdistsとホイールの両方を配備するだけで済みます。

「問題なく実行する」に関しては、は、サンプルをテストに変換し、リリースごとにテストを実行することを検討してください。ローカルでtoxを使用するか、travisまたはappveyorのようなサービスを使用してください。これは、リリース間で保持されるべき動作がある場合に特に重要です。これは重要な部分ですsemantic versioning

関連する問題