尝试使用pyinstaller
创建可检索文件时收到警告消息。安装Pillow
后出现此警告。以前我有任何警告,并能够通过。
pyinstaller得到的警告是:
7314 INFO: Analyzing main.py
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/hooks/hook-PIL.Image.py:14: RuntimeWarning: Parent module 'PyInstaller.hooks.hook-PIL' not found while handling absolute import
from PyInstaller.hooks.shared_PIL_Image import *
此外,当我尝试运行我的代码的可执行文件的exe / consol版本时,这些版本位于pyinstaller(dist/main/main
)创建的dist文件夹中,这些都会显示出来。
Traceback (most recent call last):
File "<string>", line 26, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
exec(bytecode, module.__dict__)
File "/Users/..../build/main/out00-PYZ.pyz/PIL.PngImagePlugin", line 40, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
exec(bytecode, module.__dict__)
File "/Users/..../build/main/out00-PYZ.pyz/PIL.Image", line 53, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 276, in load_module
exec(bytecode, module.__dict__)
File "/Users/..../build/main/out00-PYZ.pyz/FixTk", line 74, in <module>
OSError: [Errno 20] Not a directory: '/Users/.../dist/main/tcl'
logout
[Process completed]
所以,我尝试卸载pillow
,安装tk tcl dev
版本。然后安装pillow
。即使这没有帮助。
我也尝试重新安装pyinstaller
。也没有帮助
更新1:
Pyinstaller.hooks.hook-PIL.py
目录中似乎缺少Pyinstaller/hooks
个文件。它在所有平台上都缺失(Mac,Windows和Linux)。这是我在Windows上发出的警告/错误消息,这与我在mac和linux上的消息相同。
后来我发现link,just to need Python import machinery happy
。所以我创建了如此说。然后我没有在所有平台上得到相同的错误,但在Mac上我仍然得到PILImagePlugin
,Image
和FixTk
错误
答案 0 :(得分:1)
rm -rf /usr/local/lib/python2.7/dist-packages/requests*
的解决方案:
我发现了什么问题,我在tcl
遇到的每一个问题都是OSX
本身(恰好是OS
)。默认情况下,Python附带mac OS。这个版本的python可能对学习基本python很有用,但不适合开发目的。
安装brew的python有帮助。我跟着这个SO link。做完这些之后,我仍然遇到错误。后来我不得不改变macport
上的路径。基本上重新安排它们应该有效。但是,我仍然没有做对。
然后我不得不改变/etc/paths
,它适用于大多数用户,但我仍然得到mac版本的python和pip,而不是brew的python版本。
最后我不得不重启机器几次并重复执行.bash_profile
和/etc/paths
步骤以获得系统范围的效果以接受brew的python版本和pip
.bash_profile
的解决方案:
只需添加一个名为PIL
的文件,其中包含空内容就可以达到目的。我发现link的钩子文件内容为hook-PIL.py
。
要创建的位置
对于mac: 实际上对于mac,此步骤不是必需的。当我们通过brew安装python并更改路径时,您尝试稍后通过pyinstaller
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1.1dev_-py2.7.egg/PyInstaller/hooks/
或pip install
安装的所有内容都会选择不同的路径。一切都会得到照顾。
: source packages
**在创建文件然后创建文件之前,请检查这是否是您计算机上的有效路径。我不确定或我不知道是否只是添加一个空文件是正确的方法。但它对我有用