命令'py2exe'无效

时间:2011-07-29 10:07:31

标签: python py2exe

我安装了python 2.5和2.6。我在2.6上运行我的项目。 首先我安装了py2exe for 2.5但它没有工作,所以我安装了py2exe for 2.6并删除了另一个版本,但后来找不到该模块。现在我改变了sys路径:

import sys
sys.path.append('F:\Program Files\Python26\Lib\site-packages\py2exe')
from build_exe import py2exe 
from distutils.core import setup

setup( 
 name =...

当我输入控制台时:path \ setup.py py2exe 我得到“错误:无效命令'py2exe'”

编辑:我用正确的斜杠将路径改为'F:/ Program Files / Python26 / Lib / site-packages / py2exe'。 控制台看起来像这样:

E:\Eclipse Workspace\...\src>setup.py py2exe
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'py2exe'

2 个答案:

答案 0 :(得分:3)

这是你的问题:

sys.path.append('F:\Program Files\Python26\Lib\site-packages\py2exe')

反斜杠(\)是一个escape character,并且几乎所有编程语言(包括Python)都以特殊的方式进行交互。

令人遗憾的是,DOS(以及Windows扩展名)也使用反斜杠作为目录分隔符而不是斜杠。 There is a bit of history behind this ...

无论如何,您有几个选择:

使用斜杠。 Python会在内部将它们转换为反斜杠。

d = 'C:/Program Files/'

使用两个后挡板,这将逃避反斜杠并插入一个反斜杠。

d = 'C:\\Program Files\\'

使用不解释转义字符的“原始”字符串。通过在字符串之前添加r来完成此操作。

d = r'C:\Program Files\'

我个人更喜欢第一种解决方案。但我已经看到其他两个也被使用了很多。请注意,这也是相反的方式,所以如果使用反斜杠,Python会在UNIX和Linux系统上将其转换为斜杠。

作为免费奖金提示,这也可能是指出os.path.join()功能的好地方:)

答案 1 :(得分:-1)

解决方案非常简单。

添加安装。

所以而不是

  

setup.py py2exe

  

setup.py py2exe install

并且有效