Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 pyPdf for Python2.7不适用于py2exe和cx_freeze?_Python 2.7_Py2exe_Cx Freeze_Pypdf - Fatal编程技术网

Python 2.7 pyPdf for Python2.7不适用于py2exe和cx_freeze?

Python 2.7 pyPdf for Python2.7不适用于py2exe和cx_freeze?,python-2.7,py2exe,cx-freeze,pypdf,Python 2.7,Py2exe,Cx Freeze,Pypdf,各位, 我使用pyPdf为Python2.7编写了一个小程序。它已经在Python中进行了测试。现在我想把它转换成exe文件在Windows中运行。py2exe和cx_-freeze都不起作用。exe文件未运行 输出文件夹中似乎不包含pyPdf模块 文件夹结构如下所示: dist\ tcl [folder] tk [folder] _ctypes.pyd _tkinter.pyd bz2.pyd Filing.exe python27.dl

各位,

我使用pyPdf为Python2.7编写了一个小程序。它已经在Python中进行了测试。现在我想把它转换成exe文件在Windows中运行。py2exe和cx_-freeze都不起作用。exe文件未运行

输出文件夹中似乎不包含pyPdf模块

文件夹结构如下所示:

dist\
    tcl [folder]
    tk [folder]
    _ctypes.pyd
    _tkinter.pyd
    bz2.pyd
    Filing.exe
    python27.dll
    tcl85.dll
    tk85.dll
    unicodedata.pyd
Traceback (most recent call last):
 File "C:\python27\lib\site-packages\cx_Freeze\initscripts\console.py", line 27, in <module>
    exec code in m.__dict__
 File "filing.py", line 1, in <module>
ImportError: No module named pyPdf
C:\Python27\Scripts>cxfreeze pypdf_test.py
copying C:\Python27\lib\site-packages\cx_Freeze\bases\Console.exe -> C:\Python27
\Scripts\dist\pypdf_test.exe
copying C:\Windows\system32\python27.dll -> C:\Python27\Scripts\dist\python27.dl
l
writing zip file C:\Python27\Scripts\dist\pypdf_test.exe

  Name                      File
  ----                      ----
m StringIO
m UserDict
m __builtin__
m __main__                  pypdf_test.py
m _abcoll
m _codecs
m _codecs_cn
m _codecs_hk
m _codecs_iso2022
m _codecs_jp
m _codecs_kr
m _codecs_tw
m _multibytecodec
m _struct
m _warnings
m _weakref
m _weakrefset
m abc
m base64
m binascii
m bz2                       C:\Python27\DLLs\bz2.pyd
m codecs
m copy
m copy_reg
m cx_Freeze__init__         C:\Python27\lib\site-packages\cx_Freeze\initscripts\
Console.py
P encodings
m encodings.aliases
m encodings.ascii
m encodings.base64_codec
m encodings.big5
m encodings.big5hkscs
m encodings.bz2_codec
m encodings.charmap
m encodings.cp037
m encodings.cp1006
m encodings.cp1026
m encodings.cp1140
m encodings.cp1250
m encodings.cp1251
m encodings.cp1252
m encodings.cp1253
m encodings.cp1254
m encodings.cp1255
m encodings.cp1256
m encodings.cp1257
m encodings.cp1258
m encodings.cp424
m encodings.cp437
m encodings.cp500
m encodings.cp720
m encodings.cp737
m encodings.cp775
m encodings.cp850
m encodings.cp852
m encodings.cp855
m encodings.cp856
m encodings.cp857
m encodings.cp858
m encodings.cp860
m encodings.cp861
m encodings.cp862
m encodings.cp863
m encodings.cp864
m encodings.cp865
m encodings.cp866
m encodings.cp869
m encodings.cp874
m encodings.cp875
m encodings.cp932
m encodings.cp949
m encodings.cp950
m encodings.euc_jis_2004
m encodings.euc_jisx0213
m encodings.euc_jp
m encodings.euc_kr
m encodings.gb18030
m encodings.gb2312
m encodings.gbk
m encodings.hex_codec
m encodings.hp_roman8
m encodings.hz
m encodings.idna
m encodings.iso2022_jp
m encodings.iso2022_jp_1
m encodings.iso2022_jp_2
m encodings.iso2022_jp_2004
m encodings.iso2022_jp_3
m encodings.iso2022_jp_ext
m encodings.iso2022_kr
m encodings.iso8859_1
m encodings.iso8859_10
m encodings.iso8859_11
m encodings.iso8859_13
m encodings.iso8859_14
m encodings.iso8859_15
m encodings.iso8859_16
m encodings.iso8859_2
m encodings.iso8859_3
m encodings.iso8859_4
m encodings.iso8859_5
m encodings.iso8859_6
m encodings.iso8859_7
m encodings.iso8859_8
m encodings.iso8859_9
m encodings.johab
m encodings.koi8_r
m encodings.koi8_u
m encodings.latin_1
m encodings.mac_arabic
m encodings.mac_centeuro
m encodings.mac_croatian
m encodings.mac_cyrillic
m encodings.mac_farsi
m encodings.mac_greek
m encodings.mac_iceland
m encodings.mac_latin2
m encodings.mac_roman
m encodings.mac_romanian
m encodings.mac_turkish
m encodings.mbcs
m encodings.palmos
m encodings.ptcp154
m encodings.punycode
m encodings.quopri_codec
m encodings.raw_unicode_escape
m encodings.rot_13
m encodings.shift_jis
m encodings.shift_jis_2004
m encodings.shift_jisx0213
m encodings.string_escape
m encodings.tis_620
m encodings.undefined
m encodings.unicode_escape
m encodings.unicode_internal
m encodings.utf_16
m encodings.utf_16_be
m encodings.utf_16_le
m encodings.utf_32
m encodings.utf_32_be
m encodings.utf_32_le
m encodings.utf_7
m encodings.utf_8
m encodings.utf_8_sig
m encodings.uu_codec
m encodings.zlib_codec
m errno
m exceptions
m genericpath
m imp
m itertools
m linecache
m nt
m ntpath
m os
m posixpath
m quopri
m repr
m stat
m string
m stringprep
m strop
m struct
m sys
m traceback
m types
m unicodedata               C:\Python27\DLLs\unicodedata.pyd
m warnings
m weakref
m zipimport
m zlib

Missing modules:
? pyPdf imported from __main__

copying C:\Python27\DLLs\bz2.pyd -> C:\Python27\Scripts\dist\bz2.pyd
copying C:\Python27\DLLs\unicodedata.pyd -> C:\Python27\Scripts\dist\unicodedata
.pyd

C:\Python27\Scripts>
file.exe是该程序的一部分

我尝试在命令窗口下运行exe,错误消息如下:

dist\
    tcl [folder]
    tk [folder]
    _ctypes.pyd
    _tkinter.pyd
    bz2.pyd
    Filing.exe
    python27.dll
    tcl85.dll
    tk85.dll
    unicodedata.pyd
Traceback (most recent call last):
 File "C:\python27\lib\site-packages\cx_Freeze\initscripts\console.py", line 27, in <module>
    exec code in m.__dict__
 File "filing.py", line 1, in <module>
ImportError: No module named pyPdf
C:\Python27\Scripts>cxfreeze pypdf_test.py
copying C:\Python27\lib\site-packages\cx_Freeze\bases\Console.exe -> C:\Python27
\Scripts\dist\pypdf_test.exe
copying C:\Windows\system32\python27.dll -> C:\Python27\Scripts\dist\python27.dl
l
writing zip file C:\Python27\Scripts\dist\pypdf_test.exe

  Name                      File
  ----                      ----
m StringIO
m UserDict
m __builtin__
m __main__                  pypdf_test.py
m _abcoll
m _codecs
m _codecs_cn
m _codecs_hk
m _codecs_iso2022
m _codecs_jp
m _codecs_kr
m _codecs_tw
m _multibytecodec
m _struct
m _warnings
m _weakref
m _weakrefset
m abc
m base64
m binascii
m bz2                       C:\Python27\DLLs\bz2.pyd
m codecs
m copy
m copy_reg
m cx_Freeze__init__         C:\Python27\lib\site-packages\cx_Freeze\initscripts\
Console.py
P encodings
m encodings.aliases
m encodings.ascii
m encodings.base64_codec
m encodings.big5
m encodings.big5hkscs
m encodings.bz2_codec
m encodings.charmap
m encodings.cp037
m encodings.cp1006
m encodings.cp1026
m encodings.cp1140
m encodings.cp1250
m encodings.cp1251
m encodings.cp1252
m encodings.cp1253
m encodings.cp1254
m encodings.cp1255
m encodings.cp1256
m encodings.cp1257
m encodings.cp1258
m encodings.cp424
m encodings.cp437
m encodings.cp500
m encodings.cp720
m encodings.cp737
m encodings.cp775
m encodings.cp850
m encodings.cp852
m encodings.cp855
m encodings.cp856
m encodings.cp857
m encodings.cp858
m encodings.cp860
m encodings.cp861
m encodings.cp862
m encodings.cp863
m encodings.cp864
m encodings.cp865
m encodings.cp866
m encodings.cp869
m encodings.cp874
m encodings.cp875
m encodings.cp932
m encodings.cp949
m encodings.cp950
m encodings.euc_jis_2004
m encodings.euc_jisx0213
m encodings.euc_jp
m encodings.euc_kr
m encodings.gb18030
m encodings.gb2312
m encodings.gbk
m encodings.hex_codec
m encodings.hp_roman8
m encodings.hz
m encodings.idna
m encodings.iso2022_jp
m encodings.iso2022_jp_1
m encodings.iso2022_jp_2
m encodings.iso2022_jp_2004
m encodings.iso2022_jp_3
m encodings.iso2022_jp_ext
m encodings.iso2022_kr
m encodings.iso8859_1
m encodings.iso8859_10
m encodings.iso8859_11
m encodings.iso8859_13
m encodings.iso8859_14
m encodings.iso8859_15
m encodings.iso8859_16
m encodings.iso8859_2
m encodings.iso8859_3
m encodings.iso8859_4
m encodings.iso8859_5
m encodings.iso8859_6
m encodings.iso8859_7
m encodings.iso8859_8
m encodings.iso8859_9
m encodings.johab
m encodings.koi8_r
m encodings.koi8_u
m encodings.latin_1
m encodings.mac_arabic
m encodings.mac_centeuro
m encodings.mac_croatian
m encodings.mac_cyrillic
m encodings.mac_farsi
m encodings.mac_greek
m encodings.mac_iceland
m encodings.mac_latin2
m encodings.mac_roman
m encodings.mac_romanian
m encodings.mac_turkish
m encodings.mbcs
m encodings.palmos
m encodings.ptcp154
m encodings.punycode
m encodings.quopri_codec
m encodings.raw_unicode_escape
m encodings.rot_13
m encodings.shift_jis
m encodings.shift_jis_2004
m encodings.shift_jisx0213
m encodings.string_escape
m encodings.tis_620
m encodings.undefined
m encodings.unicode_escape
m encodings.unicode_internal
m encodings.utf_16
m encodings.utf_16_be
m encodings.utf_16_le
m encodings.utf_32
m encodings.utf_32_be
m encodings.utf_32_le
m encodings.utf_7
m encodings.utf_8
m encodings.utf_8_sig
m encodings.uu_codec
m encodings.zlib_codec
m errno
m exceptions
m genericpath
m imp
m itertools
m linecache
m nt
m ntpath
m os
m posixpath
m quopri
m repr
m stat
m string
m stringprep
m strop
m struct
m sys
m traceback
m types
m unicodedata               C:\Python27\DLLs\unicodedata.pyd
m warnings
m weakref
m zipimport
m zlib

Missing modules:
? pyPdf imported from __main__

copying C:\Python27\DLLs\bz2.pyd -> C:\Python27\Scripts\dist\bz2.pyd
copying C:\Python27\DLLs\unicodedata.pyd -> C:\Python27\Scripts\dist\unicodedata
.pyd

C:\Python27\Scripts>
嗯。我检查了pyPdf的位置,它在这里:

>>import pyPdf
>>print pyPdf
module 'pyPdf' from 'C:\Python27\lib\site-packages\pypdf-1.13-py2.7.egg\pyPdf\__init__.pyc'

那么,我如何将pyPdf带到exe程序中?

作为答案重新发布:

安装在.egg目录中的模块似乎有些奇怪-cx_Freeze显然没有看到setuptools对路径的修改


我对此已经有所了解,但与此同时,最简单的解决方案是将Python包复制到PYTHONPATH上的某个地方,如site packages文件夹。

pyPdf是纯Python,因此cx_Freeze会将其打包到zip文件中(py2exe可能类似,但我不太了解)。您可以在冻结时发布显示的输出吗?输出显示它没有找到
pyPdf
(请参阅“缺少的模块”)。pyPdf在哪里?要检查,启动Python,并执行
importPyPDF;打印pyPdf
可能与egg有问题-设置工具会做一些奇怪的事情。尝试将pyPdf目录复制到site-packages中。哇,真管用!非常感谢。你应该把它作为这个问题的答案。