2

System XP および Win 7 Python 2.6 および 2.7 の両方

'bundle_files':1 を使用して .exe を作成したため、.dll を使用せずにファイルを 1 つだけ作成し、コンピューターで実行した後、python または vs 配布可能ファイルを使用せずに新しいファイルに移動しましたが、動作しませんでした。「システムは指定されたプログラムを実行できません」というエラーが発生しました。周りを調べて、配布可能ファイルが必要であることがわかりました-適切にインストールされ、機能しました-しかし、budle_files:1オプションを使用してコンパイルしたいので、1つしかありません。 .exe ファイルを .dll と一緒にダウンロードして、自分のコンピューターや友人に配布可能ファイルを配置する必要はありません。(この .dll をバンドルできないことは理解しています)

py2exe ガイドで提供されている例を使用しましたが、.dll ファイルと .manifest ファイルが示された場所になかったので、別の簡単な場所にコピーするだけです。「Microsoft.VC90.CRT」サブフォルダーをコンパイルして含めますが、python と配布可能ファイルを削除してもエラーが発生します。これが私のスクリプトです。

from distutils.core import setup
from glob import glob
import os
import sys
import platform
import py2exe


data_files = [("Microsoft.VC90.CRT", glob(r'C:\Documents and Settings\User\Desktop\Temp\dlls\*.*'))]
setup(console=['Script.py'],
    data_files=data_files,
    options = {'py2exe':{'bundle_files':1}},
    zipfile= None,
    ) 

ありがとう

4

1 に答える 1

1

答えが得られず、py2exeを1つだけあきらめました。

pyinstaller が見つかりました。これは、py2exe でできたよりもさらにうまくできました。1 つの .exe ファイルと追加の .dll ディレクトリを使用する代わりに。.exe ファイルを 1 つだけ作成することができ、Python や再配布可能ファイルのないシステムで実行できます。

スクリプトを pyinstaller.py スクリプトとしてディレクトリに配置します。

cmd > location of scripts

pyinstaller.py --onefile <yourscript>
于 2012-10-30T17:40:35.973 に答える