私はというパッケージを開発しています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をサポートすることにしました。コードベースがクリーンであることが私にとって重要であり、互換性のあるハックを導入したくありません。