Python 3でプログラムを作成するWindowsユーザーの場合はPILを使用できませんか。

StackOverflow https://stackoverflow.com/questions/8987639

質問

私はPythonのWindowsユーザーのためのいくつかのプロセスを自動化するためのかなり単純なGUIプログラムを書いた(それが唯一のプログラミング言語であるため、それはWindows上で実行されます)。私の計画がUSBドライブに自己完結型で実行されるのであるため、ユーザーにインストールプログラムを実行する必要はありません。

OS、SUTIL、STRING、SYS、TKINTER、WEBBROWSER、PIL、FTPLIB、およびglobに依存します。

PILを除いて、CX_FREEZEを実行したときにすべての依存関係が輸入されたようです。私は以前にcx_freezeを使ったことがないので、私は何か悪いことをしているかもしれませんが、それはそれのようには思えません。 Unfrozen .pyスクリプトからプログラムを実行するとうまく機能します。

Pilコマンドを使用しようとしたときに受信したエラーメッセージ:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python32\lib\tkinter\__init__.py", line 1399, in __call__
    return self.func(*args)
  File "E:\AlbumUploader.py", line 143, in OnButton2Click
    img.thumbnail(size, Image.ANTIALIAS)
  File "C:\Python32\lib\site-packages\PIL\Image.py", line 1573, in thumbnail
    self.load()
  File "C:\Python32\lib\site-packages\PIL\ImageFile.py", line 168, in load
    self.load_prepare()
  File "C:\Python32\lib\site-packages\PIL\ImageFile.py", line 234, in load_prepare
    self.im = Image.core.new(self.mode, self.size)
  File "C:\Python32\lib\site-packages\PIL\Image.py", line 39, in __getattr__
    raise ImportError("The _imaging C module is not installed")
ImportError: The _imaging C module is not installed
.

あなたが提供することができるすべての助けをありがとう。私はそれが問題の一部であるかもしれないC:\ Python32を参照していることがまだ参照されていることがわかります(誤っていない場合)。

更新:

私はPIL FAQを見て、その答えの趣味が私のsys.pathリストが正しいことを確認する必要があるということです。私は基本的にすべてのPythonファイルをWindowsにつかみ、それを使用しようとしているUSBドライブに含めて、そのようなパスを設定します。

program_dir = os.path.split(sys.argv[0])[0]
sys.path = [program_dir]
sys.path.append(program_dir + os.sep + 'Lib')
sys.path.append(program_dir + os.sep + 'Lib' + os.sep + 'site-packages')
sys.path.append(program_dir + os.sep + 'Lib' + os.sep + 'site-packages' + os.sep + 'PIL')
sys.path.append(program_dir + os.sep + 'DLLs')
.

すべてのパスは正しいようですが、何らかの理由で私はまだ同じエラーを得ています。私が.pyファイルを実行すると、すべてが100%機能しますが、これはどういうわけかそれを破るようです。他のモジュールは、例えば、Shutil、OS、SYSのように細かく機能するようです。

役に立ちましたか?

解決

あなたの主な問題は、Python Imaging Library(PIL)がまだPython 3.xをサポートしていないということだと思います。

Plodownsページを見るPython 2.4,2.5,2.6、および2.7のWindowsダウンロードがありますが、Python 3.xには何もありません。

href="https://stackoverflow.com/questions/3896286/image-library-for-python-3">この質問は、Python 3のためのPILの非公式のポートを詳細にする答えを持っています。Xは試してみる価値があるかもしれません。

それでもうまくいったら PIL FAQの最初の質問を見てみることができます。/ a>「_imaging Cモジュールがインストールされていません」というエラーがあり、問題を特定するためにできるさまざまなことを一覧表示します。

他のヒント

過去には、Windowsの下で正しいDLLを引いている問題を解決することができました。

私はプロセスエクスプローラ DLLが探していたものを追跡するしかし、見つかりません、そしてそれらを手動でプロジェクトに追加し、これはそれを働きました。どんなファイルでも同じことができるように、私はあなたのケースでも同じことを想像しています。

これはPYSFMLを使った私の使用法であるので、あなたの走行距離は変わるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top