2

Windowsでスタンドアロンで使用できる.exeバイナリを作成することを目的として、pip経由でPyinstallerをダウンロードしてインストールしました。私のアプリ/スクリプトは、これとほぼ同じで、特定のサブレディット (reddit アカウントなしでアクセスできます) から画像をダウンロードします。

コンソールまたは IDE を介して .py スクリプトを実行すると、 LinuxWindowsの両方で期待どおりに動作します。PRAWのドキュメントによると、C:\Users\myName\AppData\praw.iniPRAWのインストール後に構成ファイルが必要ですが、現在システムから欠落していますが、前述のように、スクリプトはPythonインタープリターで問題なく実行されます。

Pyinstaller を使用して .exe にパッケージ化すると問題なく動作しますが、(管理者権限の有無にかかわらず) 実行すると次のエラーで失敗します

C:\Users\John\IdeaProjects\monsteraday-subreddit-image-downloader\dist>monsteraday-image-downloader.exe
Traceback (most recent call last):
  File "<string>", line 5, in <module>
  File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
 line 363, in load_module
    exec(bytecode, module.__dict__)
  File "C:\Python27\lib\site-packages\praw\__init__.py", line 40, in <module>
    from praw.settings import CONFIG
  File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
 line 363, in load_module
    exec(bytecode, module.__dict__)
  File "C:\Python27\lib\site-packages\praw\settings.py", line 47, in <module>
    CONFIG = _load_configuration()
  File "C:\Python27\lib\site-packages\praw\settings.py", line 45, in _load_configuration    .format(locations))
Exception: Could not find config file in any of: [u'C:\\Users\\John\\AppData\\Local\\Temp\\_MEI52442\\praw\\praw.ini', u'C:\\Users\\John\\AppData\Roaming\\praw.ini', u'praw.ini']
monsteraday-image-downloader returned -1

この時点で、両方のことを明確にする必要があります

  • python myscript.pyコンソールで実行中
  • myscript.exeコンソールまたはダブルクリックで 生成された pyinstaller を実行する

同じ Win8.1 x64 マシンで、必要なすべてのライブラリ (PRAW を含む) がインストールされ、Python 2.7 32 ビット (ターゲットの .exe との互換性のため) がインストールされ、ユーザーpraw.ini 構成が /AppData/ dir にない状態で試行されました。グローバルなpraw.ini を適切にC:\Python27\Lib\site-packages\praw\praw.ini

Pyinstaller のドキュメントには、.spec ファイルを使用してラップされた .exe に外部ファイルを含めることが記載されていますが、すでに praw.ini 構成がない/必要がないため、これがどのように機能するかわかりません。Py2exe でも同じ結果が得られます。これを修正して、このツールを簡単に使用する方法を作成するにはどうすればよいですか?

4

1 に答える 1