2012-12-19 7 views
6

PythonアプリケーションをWindowsサービスとして実行しようとしています。私がインストールして起動したコードですが、アプリケーションの一部であるモジュールとクラスをインポートする際に問題があります。Python、Windowsサービスインポートエラー

注:: Pythonライブラリは正常に組み込まれています。

私はpythonのパスをチェックして、正しい値がすべてそこにあります(アプリケーションディレクトリを含む)ので、Windowsサービスが別の場所で実行されている可能性があります。

Windowsサービスとして動作しているPythonアプリケーションは、Windows上の別の場所から実行されますか?

+0

にアクセスするためのスクリプト内の適切なのsys.pathを設定することができます別の場所 "とは、プロセスの現在の作業ディレクトリを意味しますか? –

+0

これは別のユーザー、通常はシステムユーザーとして実行されます。そのため、依存するいくつかのユーザー固有の環境変数(ヒント: '%PATH%')がある場合は、それが問題になる可能性があります。 – zenpoy

+0

@ NathanHoadはい現在の作業ディレクトリと異なる場所を申し訳ありません。 –

答えて

2

win32serviceを使用してpythonサービスを作成すると、pythonservice.exeがデフォルトでC:\Python27\Lib\site-packages\win32に作成されました。

あなたは最高のものを使用し、絶対パスになり、単にサービスを作成する前に、あなたのコード内で

os.chdir(yourdir)を実行し、あなたが「から実行すると言うとき、ファイル