我一直在尝试复制此post的示例,使用pyinstaller生成可执行文件但没有成功。我在Linux操作系统上。
我尝试构建的exe是基于此代码(之后是test.py)
<?php
for ($i=0;$i<count($_GET['room_idi']);$i++) {
echo $_GET['room_idi'][$i].$_GET['room_price'][$i];
}
?>
要创建我运行的可执行文件
from pylab import *
from matplotlib import pyplot as plt
figure(1, figsize=(6,6))
ax = axes([0.1, 0.1, 0.8, 0.8])
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]
explode=(0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels,
autopct='%1.1f%%', startangle=90)
title('Pie Chart Example', bbox={'facecolor':'0.8', 'pad':5})
show()
我尝试使用3.0版(pip安装中的官方版本)和pyinstaller版本3.1.dev。两者都编译但是当我运行可执行文件时我得到了
pyinstaller --onefile test.py
我读到可能的错误可能与我的$ PYTHONPATH有关(见post) 但即使有一个干净的$ PYTHONPATH environement,我也有同样的错误。
此外,我不明白为什么可执行文件在/ usr /目录中查找文件时应该是独立的。
欢迎任何建议。 感谢。
PS:这是使用pyinstaller v3.0进行编译的输出。注意 为了使它工作,我必须在文件中评论'PyQt4'和'PyQt5' /us//local/lib/python2.7/dist-packages/PyInstaller/hooks/hook-PIL.py按照post的建议。
./test
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyimod03_importers.py", line 363, in load_module
exec(bytecode, module.__dict__)
File "/usr/share/pyshared/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyimod03_importers.py", line 363, in load_module
exec(bytecode, module.__dict__)
File "/usr/share/pyshared/matplotlib/__init__.py", line 157, in <module>
from matplotlib.compat import subprocess
ImportError: No module named compat
test returned -1