1

私は非常に単純なスクリプトを持っておりexepy2exe. 次に、Python がインストールされていない Windows 7 マシンに移動しました。

実行すると、次のエラーが表示されます。

LoadLibrary(pythondll) failed
指定されたモジュールが見つかりませんでした。C:\PYTHON27.DLL

dll を含むいくつかのコードを読み取ってテストしようとしましたが、何も機能しませんでした。この dll を含めるにはどうすればよいですか?

それが役立つ場合、私のpythonスクリプトは基本的なものを次のようにインポートするだけです

import os 
import getpass
import urllib2
import os
import re
import time
4

2 に答える 2

0

これは、32 ビットと 64 ビットの両方の Python がインストールされていて、パス上にあることが原因である可能性があります。

からの出力をよく見てくださいpython setup.py py2exe

. . .
*** copy extensions ***
copying C:\Python27\DLLs\_hashlib.pyd -> C:\path\to\project\dist
copying C:\Python27\DLLs\_socket.pyd -> C:\path\to\project\dist
copying C:\Python27\DLLs\_ssl.pyd -> C:\path\to\project\dist
copying C:\Python27\DLLs\bz2.pyd -> C:\path\to\project\dist
copying C:\Python27\DLLs\select.pyd -> C:\path\to\project\dist
copying C:\Python27\DLLs\unicodedata.pyd -> C:\path\to\project\dist
copying C:\PythonEnvs\some_virtualenv\lib\site-packages\pyodbc-3.0.7-py2.7-win32.egg\pyodbc.pyd -> C:\path\to\project\dist
copying C:\PythonEnvs\some_virtualenv\lib\site-packages\win32\win32print.pyd -> C:\path\to\project\dist
*** copy dlls ***
copying C:\Windows\system32\python27.dll -> C:\path\to\project\dist
setting sys.winver for 'C:\path\to\project\dist\python27.dll' to 'ProjectNameHere'
copying C:\PythonEnvs\some_virtualenv\lib\site-packages\pywin32_system32\pywintypes27.dll -> C:\path\to\project\dist
copying C:\Windows\system32\CRYPT32.dll -> C:\path\to\project\dist
copying C:\PythonEnvs\some_virtualenv\lib\site-packages\py2exe-0.6.9-py2.7-win32.egg\py2exe\run.exe -> C:\path\to\project\dist\mlr_startup.exe

py2exe が必要な場所からのみプルしていることを確認してください。

上記の機能例では、py2exe は Python 2.7 のシステム インストールからプルしていますC:\Python27。現在の仮想環境からも引き込んでいますC:\PythonEnvs\some_virtualenv\lib\site-packages。これにより、実行可能な実行ファイルが作成されます。

私がこの問題を抱えていたとき、py2exe が互換性のないバージョンの Python を持つ他の場所からも何かを取り込んでいることがわかりました。

たとえば、私は 32 ビットの公式 Python を持っていて、64 ビット バージョンの Mercurial をインストールしました。Mercurial は独自の 64 ビット バージョンの Python をインストールし、py2exe は 32 ビットと 64 ビットの実行可能ファイルを組み合わせC:\Python27C:\Program Files\Mercurial\Python27.

それを解決するために、Mercurial をアンインストールしました。または、Python パスを変更して、py2exe が Python の Mercurial がインストールされたバージョンやその他の望ましくない Python のインストールを認識しないようにすることもできます。

于 2015-02-06T17:36:06.857 に答える
0

実行可能ファイルと同じディレクトリに DLL を配布するか、実行可能ファイルを実行するマシンの環境 PATH に配置する必要があります。

于 2013-03-21T00:31:19.617 に答える