スタンドアロンスクリプトを作成したのは、いくつかの変更されたモジュールに依存しています。ディレクトリ構造は次のようになります。
client
setup.py
tsclient
__init__.py
tsup
utils.py
mutagen
__init__.py
blah.py
blah.py
...
colorama
__init__.py
blah.py
blah.py
...
現在、usup
スクリプトを~/bin
ディレクトリにシンボリックリンクするだけで、スクリプトを直接呼び出すことができ、問題なく動作します(すべてが問題なく正しくインポートされます)。
次に、setup.pyスクリプトを作成して、配布できるようにします。どうしたらいいのかわからない。これが私が今持っているものです:
setup(
name='tsclient',
version='1.0',
scripts=['tsclient/tsup'],
packages=['tsclient', 'tsclient.mutagen', 'tsclient.colorama'],
)
import mutagen
問題は、現在はtsupスクリプトであるため、tsupスクリプトで実行できないことtsclient.mutagen
です。インポートを変更して、from tsclient import mutagen
このエラーが発生したと言った場合(mutagenの__init__.py
ファイルから):
ImportError: No module named mutagen._util
最善の解決策は、変異原を調べて「変異原」のすべてのインスタンスを変更し、それを「tsclient.mutagen」に変更することではないと思います。これが私の唯一の選択肢ですか?