我有一些我写的.py文件,我想在另一台机器上运行.目标机器没有安装python,我无法通过策略"安装"它.我能做的是复制文件,运行我的东西,然后删除它们.
我尝试的是将我的开发python文件夹转移到目标机器并cd到python文件夹并运行python.exe /path/to/.py/file.它给了我一个错误,说python.dll没有注册.如果我注册的DLL可能会让我远离"违规政策"行.
无论如何,我可以在没有实际安装python的机器上完成运行python文件(试图让py2exe现在正常工作,但这很痛苦)?
我有一个依赖于lxml的wxpython应用程序,并且在通过python解释器运行时效果很好.但是,当使用py2exe创建一个exe时,我收到了这个错误
ImportError: No module named _elementpath
Run Code Online (Sandbox Code Playgroud)
我然后使用了python setup.py py2exe -p lxml ,我没有得到上述错误,但另一个说
ImportError: No module named gzip
Run Code Online (Sandbox Code Playgroud)
任何人都可以让我知道问题是什么以及如何解决它.我还应该在我的dist文件夹中放置libxml2,libxslt等任何dll文件吗?我搜索了计算机并没有找到这些文件,所以也许他们不需要?
谢谢.
编辑:我刚试过,python setup.py py2exe -p -i gzip并创建了exe.但是生成的exe不会运行.我双击它,它什么也没做.
这是我正在使用的setup.py脚本
from py2exe.build_exe import py2exe
from distutils.core import setup
setup( windows=[{"script": "gui.py"}] )
Run Code Online (Sandbox Code Playgroud)
Edit2:我尝试使用cx_freeze作为替代方案,但得到了相同的结果
ImportError: No module named _elementpath
Run Code Online (Sandbox Code Playgroud)
错误.之后不知道该怎么办.
为什么多处理模块需要在"冻结"以生成Windows可执行文件时调用特定函数才能工作?
试图在Vba上调用python脚本,我是一个新手.我尝试使用py2exe将主脚本转换为exe,然后从VBA(shell)调用它,但主脚本调用其他脚本,因此它变得复杂,我搞砸了(我的exe不起作用).此外,主脚本是一个大文件,我不想修改它.
Bottomline,有没有办法从excel vba调用主脚本,而不将脚本转换为exe文件.
到目前为止,我尝试过:
RetVal = Shell("C:\python27\python.exe " & "import " & "C:\\" & "MainScriptFile")
Run Code Online (Sandbox Code Playgroud)
它启动python.exe但没有做任何其他事情.然后我尝试了:
RetVal = Shell("C:\Windows\System32\cmd.exe " & "python " & "C:\\Python27\\hello.py")
Run Code Online (Sandbox Code Playgroud)
它启动命令提示符,但甚至不启动python.
PS我在论坛上检查了所有相关问题,他们没有解决我的问题.
我有一个新的64位Windows机器并使用python进行各种操作,因此更愿意安装64位python.
但是,我的一个python项目创建了一个Windows可执行文件,然后在32位Windows机器上运行(使用py2exe创建).
如何使用64位python和py2exe创建32位可执行文件?
如果我不能这样做,我想我的选择是:
在包括我的所有机器上使用32位python; 要么
在32位计算机上安装python,不要使用py2exe.
任何建议都非常感谢.
我使用PyQt4在Python 3.1中构建了一个相当简单的应用程序.完成后,我希望将应用程序分发到计算机而不安装任何一个.
我几乎完全关心Windows平台,所以我的目标是拥有一个可执行文件,最后可能还有一些资源文件和.dll.
经过四处搜寻,我得出结论
Y:\Users\lulz\build\exe.win32-3.1>system_shutdown.exe
Traceback (most recent call last):
File "Y:\Program Files (x86)\Python\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 27, in exec(code, m.__dict__)
File "Y:/Users/lulz/Documents/Coding/Python3/projects/System Shutdown/system_shutdown.pyw", line 5, in from PyQt4 import QtCore
File "ExtensionLoader_PyQt4_QtCore.py", line 16, in AttributeError: 'NoneType' object has no attribute 'modules'
Run Code Online (Sandbox Code Playgroud)
所以我的问题基本上是两个问题:
如有必要,我可以提供有关第二个问题的更多信息,例如我调用cx_Freeze,我的distutils安装脚本等.
谢谢你的帮助和评论.
如何反编译由py2exe编译的exe文件?
只有一个exe文件,没有任何zip文件.
如何反编译为pyc或pyo文件?
我正在尝试使用py2exe将我的.py脚本转换为可执行文件.到目前为止,我遇到了许多问题,这些问题主要通过下面的安装文件中的"选项"来解决.但现在我有,我一直没能找到可以解决的问题,并想知道如果别人有同样的问题,并固定它.
当我执行下面使用"蟒蛇setup.py py2exe"安装文件它给了我一个可执行文件,但是当我运行它,它抱怨"无模块命名建宏".
唯一的其他文章中,我能找到的关于这个问题指出,建宏是python3的事情,但我跑2.7.
感谢任何有关此建议或提示.
from distutils.core import setup
import py2exe
from distutils.filelist import findall
import os
import matplotlib
matplotlibdatadir = matplotlib.get_data_path()
matplotlibdata = findall(matplotlibdatadir)
setup(
console=['DET14.py'],
options={
'py2exe': {
'packages' : ['matplotlib', 'pytz'],
'dll_excludes':['MSVCP90.DLL',
'libgdk-win32-2.0-0.dll',
'libgobject-2.0-0.dll',
'libgdk_pixbuf-2.0-0.dll'],
'includes':['scipy.sparse.csgraph._validation',
'scipy.special._ufuncs_cxx']
}
},
# data_files=matplotlibdata_files
data_files=matplotlib.get_py2exe_datafiles()
)
Run Code Online (Sandbox Code Playgroud)
以下是错误消息的完整列表:

我正在尝试通过执行从源代码构建一个包 python setup.py py2exe
这是来自setup.py的代码部分,我认为是相关的:
if sys.platform == "win32": # For py2exe.
import matplotlib
sys.path.append("C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\redist\\x86\\Microsoft.VC90.CRT")
base_path = ""
data_files = [("Microsoft.VC90.CRT", glob.glob(r"C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.*")),
Run Code Online (Sandbox Code Playgroud)
它显示错误:
*** finding dlls needed ***
error: MSVCP90.dll: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但我已经安装了"Microsoft Visual C++ 2008 Redistributable Package".我在64位Windows 8上运行32位python.我正在尝试构建一个32位的二进制文件.
此外没有这样的文件夹:"C:\ Program Files\Microsoft Visual Studio 9.0\VC\redist \".这是我的电脑包含的内容:

编辑:
在msvcp90.dll我的C:\驱动器上搜索时,我发现它们安装在奇怪的路径中,如下所示:

py2exe ×10
python ×9
cx-freeze ×2
pyinstaller ×2
python-2.7 ×2
32bit-64bit ×1
built-in ×1
decompiler ×1
excel-vba ×1
executable ×1
lxml ×1
pyqt4 ×1
python-3.x ×1
shell ×1
vba ×1
visual-c++ ×1
wxpython ×1