私はeasy_install
またはpip
でインストールするパッケージにすることを決めたpythonアプリケーションを開発します。私は検索を使用して、Pythonパッケージのディレクトリ構造に関するいくつかの良いソースを見つけました。this answerまたはthis postを参照してください。Pythonパッケージのスクリプト
私は私が中に置かserver-run
#!/usr/bin/env python from my_package import server server.main()
実行可能なスクリプトを作成し、以下の構造(私はstrctureがより明確にするために、リスト内の複数のファイルを省略しました)その後
Project/ |-- bin/ |-- my_package/ | |-- test/ | | |-- __init__.py | | |-- test_server.py | |-- __init__.py | |-- server.py | |-- util.py |-- doc/ | |-- index.rst |-- README.txt |-- LICENSE.txt |-- setup.py
を作成bin
ディレクトリ。 python setup.py install
でパッケージをインストールしたり、pip/easy_install
で正常に動作した場合は、server-run
を実行して、サーバーが着信要求を処理し始めます。
しかし、私の質問は、開発環境でserver-run
作品(my_package
の事前インストールせずに)ということをテストする方法ですか?また、私はこの目的のために最新のサーバーコードを実行するためにこのスクリプトを使用したいと思います。
開発Project
ディレクトリに起こる私は./bin/server-run
[email protected]:~/dev/Project/$ ./bin/server-run Traceback (most recent call last): File "./bin/server-run", line 2, in import my_package ImportError: No module named my_package
を実行した場合ので、私はImportError
を取得しています私は(必ずしもどこかにファイルシステム内の別のフォルダからそれを実行した場合、それが動作するようbin/server-run
スクリプトを変更することが可能ですProject
から)?また、本番環境でサーバーを実行するために同じスクリプトを使用したい(可能ならば)ようにします。
しかし、私はこのコードを使用している場合、 'サーバーrun'は、パッケージのインストール後に動作しません。 – Alik
通常のバージョンを最初に試す方法で更新されました。 – agf
Huh。私はImportExceptionについて忘れてしまった:)ありがとう! – Alik