私が開発したPythonシステムでは、通常、このモジュール構造を持っています。Pythonのインポート:.py拡張子を持たないモジュールのインポート?
mymodule/
mymodule/mymodule/feature.py
mymodule/test/feature.py
これにより、小さなテストフレームワークでtest/feature.pyを簡単にインポートして単体テストを実行できます。
mymodule/
mymodule/scripts/yetanotherfeature.py
mymodule/test/yetanotherfeature.py
yetanotherfeature.pyが/ usr/binににモジュールDebianパッケージによってインストールされます。しかし、我々は今、(Pythonで書かれている)、いくつかのシェルスクリプトを必要としています。しかし、私たちは明らかにそこに.pyの拡張子を望んでいません。だから、テストフレームワークのために、まだ私はこのシンボリックリンクthingieをしなければならないモジュールをインポートすることができるようにする:
mymodule/
mymodule/scripts/yetanotherfeature
mymodule/scripts/yetanotherfeature.py @ -> mymodule/scripts/yetanotherfeature
mymodule/test/yetanotherfeature.py
はPythonでファイル名でモジュールをインポートすることが可能であり、またはあなたが考えることができますこのより洗練されたソリューションですか?
はシンボリックリンクで何が悪いのでしょうか?これはこれを処理する最もエレガントな方法です。展開にも使用する必要があります。/usr/bin/featureは/usr/bin/feature.pyへのリンクです。実装を明確にすることでうまく動作します。 –