[解決済み] ModuleNotFoundError: win32serviceutil' という名前のモジュールはありません。
質問
Windowsサービスとしてインストールできるプロジェクトがあるのですが、それがうまくいきません。
Venvは、このプロジェクトのために pywin32 パッケージがインストールされています (バージョン 227)。しかし、私はコンソールから python ファイルを実行しようとしている間に。
import win32serviceutil
以下のようなエラーが発生します。
ModuleNotFoundError: win32'という名前のモジュールはありません。
試してみたこと
-
パッケージの再インストール、および
python -m pip install pywin32
-
インポートファッションを変更することで
from win32 import win32serviceutil from win32.lib import win32serviceutil import win32.lib.win32serviceutil as win32serviceutil
-
回答元 このスレッド
win32 は PyCharm によってフォルダとして認識されます。
不思議なのは、以下のコマンドを実行すると、Windowsサービスがインストールされることです。
python MyPythonFile.py install
エラーは返ってきません。しかし、コマンドでサービスを開始しようとしています。
python MyPythonFile.py start
を返します。
エラー1053:サービスは、開始または制御要求に適時に応答しませんでした。
デバッグモードの場合
python MyPythonFile.py debug
を返します。
ModuleNotFoundError: win32serviceutil'という名前のモジュールはありません。
解決方法は?
このスレッドにある解決策でうまくいきました。 PythonService.exe を使って、virtualenv を使用しながら Python サービスをホストする
解決するために使用したコード。
import os
import sys
service_directory = os.path.dirname(__file__)
source_directory = os.path.abspath(service_directory)
os.chdir(source_directory)
venv_base = os.path.abspath(os.path.join(source_directory, "..", "..", "venv"))
sys.path.append(".")
old_os_path = os.environ['PATH']
os.environ['PATH'] = os.path.join(venv_base, "Scripts")+ os.pathsep + old_os_path
site_packages = os.path.join(venv_base, "Lib", "site-packages")
prev_sys_path = list(sys.path)
import site
site.addsitedir(site_packages)
sys.real_prefix = sys.prefix
sys.prefix = venv_base
new_sys_path = list()
for item in list(sys.path):
if item not in prev_sys_path:
new_sys_path.append(item)
sys.path.remove(item)
sys.path[:0] = new_sys_path
このコードは、faulting imports の前に実行されなければなりません。
関連
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Pythonコンテナのための組み込み汎用関数操作
-
pythonを使ったオフィス自動化コード例
-
Python関数の高度な応用を解説
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
PythonによるExcelファイルの一括操作の説明
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり