python 3.4 py2exe image.open 找不到图像
python 3.4 py2exe image.open cannot find the images
我正在尝试创建我的 GUI 的可执行文件(它使用我计算机中的 12 个图像)但是当我创建它时,.exe 不会在另一台计算机中 运行 因为它找不到那 12 个图片
我有一棵这样的树
project (folder)
--mycode.py (python file)
--setup.py (python file)
--images (folder)
--image1 (image .jpg)
--image2 (image .jpg)
--image3 (image .jpg)
然后我使用 py2exe 创建 .exe,现在我的树是
project (folder)
--__pycache__ (folder)
--mycode.cpython-34.pyc
--dist (folder)
--mycode.exe (executable file for windows)
--(and other 22 elements)
--mycode.py (python file)
--setup.py (python file)
--images (folder)
--Im_0.jpg
--Im_1.jpg
--Im_2.jpg
--...
现在
我正在使用这些来查找我的图像
import os
scriptDir = os.path.dirname(os.path.realpath(__file__))
IM0 = os.path.join(scriptDir, 'Images\Im_0.jpg')
....
然后我创建 .exe
但是当我 运行 可执行文件时它说
"NameError: name '__file__' is not defined"
然后我试着去 http://www.py2exe.org/index.cgi/WhereAmI
因为 py2exe 没有 file 属性
他们说使用
import os
import jpath
if hasattr(sys,"frozen") and sys.frozen in ("windows_exe", "console_exe"):
p=jpath.path(os.path.abspath(sys.executable)).dirname()
其他人说
import JPath class
import JPath.engine #@UnresolvedImport
import jpath.syntax
from jpath.data import Boolean, Item, List, Map, Null, Number, Pair, String
import jpath.errors as errors
from jpath.utils.messages import JPATH_INTERNAL_ERROR_MESSAGE
from jpath.utils.text import trimTo
import jpath.evaluators
import re
from linearclassification.lib.utils import jpath,chunk,contains,has_subsequence
但 python 显示此消息
ImportError: No module named 'JPath'
现在我不知道如何处理 运行 我的代码导入与我的树显示的 .exe 相同的文件夹中的图像
完成,答案是这个
第一个在mycode.py我放
p=os.path.abspath(sys.executable)
IM0 = os.path.join('Images\Im_0.jpg')
IM1 = os.path.join('Images\Im_1.jpg')
IM2 = os.path.join('Images\Im_2.jpg')
...
然后我通过调用 mycode.py 和 setup.py 创建 .exe
像这样
from distutils.core import setup
import py2exe
setup(
name="mycode",
windows =['mycode.py'],
options = {"py2exe": {"packages": ["encodings"]}}
)
然后我转到命令提示符将目录更改为 setup.py 和 mycode.py 所在的文件夹
后来我写
python setup.py py2exe
创建 2 个文件夹
--__pycache__ (folder)
--mycode.cpython-34.pyc
--dist (folder)
--mycode.exe (executable file for windows)
--(and other 22 elements)
现在在 dist(文件夹)中,我将文件夹 Images(文件夹)粘贴到我所有图像所在的位置,并且
--dist (folder)
--mycode.exe (executable file for windows)
--(and other 22 elements)
--Images (folder)
--Im_0.jpg
--Im_1.jpg
--Im_2.jpg
--....
完成
如果有人有更好的方法请告诉我
无论如何谢谢
我正在尝试创建我的 GUI 的可执行文件(它使用我计算机中的 12 个图像)但是当我创建它时,.exe 不会在另一台计算机中 运行 因为它找不到那 12 个图片
我有一棵这样的树
project (folder)
--mycode.py (python file)
--setup.py (python file)
--images (folder)
--image1 (image .jpg)
--image2 (image .jpg)
--image3 (image .jpg)
然后我使用 py2exe 创建 .exe,现在我的树是
project (folder)
--__pycache__ (folder)
--mycode.cpython-34.pyc
--dist (folder)
--mycode.exe (executable file for windows)
--(and other 22 elements)
--mycode.py (python file)
--setup.py (python file)
--images (folder)
--Im_0.jpg
--Im_1.jpg
--Im_2.jpg
--...
现在
我正在使用这些来查找我的图像
import os
scriptDir = os.path.dirname(os.path.realpath(__file__))
IM0 = os.path.join(scriptDir, 'Images\Im_0.jpg')
....
然后我创建 .exe
但是当我 运行 可执行文件时它说
"NameError: name '__file__' is not defined"
然后我试着去 http://www.py2exe.org/index.cgi/WhereAmI 因为 py2exe 没有 file 属性
他们说使用
import os
import jpath
if hasattr(sys,"frozen") and sys.frozen in ("windows_exe", "console_exe"):
p=jpath.path(os.path.abspath(sys.executable)).dirname()
其他人说
import JPath class
import JPath.engine #@UnresolvedImport
import jpath.syntax
from jpath.data import Boolean, Item, List, Map, Null, Number, Pair, String
import jpath.errors as errors
from jpath.utils.messages import JPATH_INTERNAL_ERROR_MESSAGE
from jpath.utils.text import trimTo
import jpath.evaluators
import re
from linearclassification.lib.utils import jpath,chunk,contains,has_subsequence
但 python 显示此消息
ImportError: No module named 'JPath'
现在我不知道如何处理 运行 我的代码导入与我的树显示的 .exe 相同的文件夹中的图像
完成,答案是这个
第一个在mycode.py我放
p=os.path.abspath(sys.executable)
IM0 = os.path.join('Images\Im_0.jpg')
IM1 = os.path.join('Images\Im_1.jpg')
IM2 = os.path.join('Images\Im_2.jpg')
...
然后我通过调用 mycode.py 和 setup.py 创建 .exe 像这样
from distutils.core import setup
import py2exe
setup(
name="mycode",
windows =['mycode.py'],
options = {"py2exe": {"packages": ["encodings"]}}
)
然后我转到命令提示符将目录更改为 setup.py 和 mycode.py 所在的文件夹 后来我写
python setup.py py2exe
创建 2 个文件夹
--__pycache__ (folder)
--mycode.cpython-34.pyc
--dist (folder)
--mycode.exe (executable file for windows)
--(and other 22 elements)
现在在 dist(文件夹)中,我将文件夹 Images(文件夹)粘贴到我所有图像所在的位置,并且
--dist (folder)
--mycode.exe (executable file for windows)
--(and other 22 elements)
--Images (folder)
--Im_0.jpg
--Im_1.jpg
--Im_2.jpg
--....
完成
如果有人有更好的方法请告诉我
无论如何谢谢