5

私はというパッケージを開発していますgarlicsim。(Webサイトgarlicsim_py3。)パッケージはPython 2.Xを対象としていますが、 。(1)と呼ばれる別のフォークでPython3のサポートも提供しています。

したがって、これらのパッケージは両方ともPyPIに共存し、Python 3ユーザーがインストールし、Python2garlicsim_py3ユーザーがインストールしgarlicsimます。

問題は次のとおりです。サードパーティのモジュールがgarlicsimを使用する場合、参照するパッケージ名は2つではなく1つにする必要があります。確かに、彼らはこのようなことをすることができます:

try:
    import garlicsim
except ImportError:
    import garlicsim_py3 as garlicsim

しかし、私はこれらのモジュールの開発者にこれを行わせたくありません。

garlicsim_py3エイリアスの下に自分自身をインストールする方法はありgarlicsimますか?私が望んでいるのは、Python 3ユーザーがimport garlicsimモジュールを常に参照できるようにすることですgarlicsimが、実際にはそうなるでしょうgarlicsim_py3

Distributeプロジェクトが次のようなことをしていることを私は知っています:彼らはあなたがインポートできるようにそれを作り、setuptoolsそれは彼らのコードにリダイレクトされます。彼らがどうやってそれをするのか私には分かりません。

何か案は?


(1)同じコードベースではなくフォークでPython3をサポートすることにしました。コードベースがクリーンであることが私にとって重要であり、互換性のあるハックを導入したくありません。

4

1 に答える 1

1

最終的には、それを行わないことにしました。2つのプロジェクトのPyPI名が異なっていても、同じパッケージ名にするだけです。

于 2010-05-28T19:57:10.153 に答える