无效命令 'py2exe
我安装了Python 2.5和2.6,现在我的项目是在2.6上运行的。最开始我安装了适用于2.5的py2exe,但它没法用,所以我安装了适用于2.6的py2exe,并删除了之前的版本。可是现在找不到这个模块了。于是我修改了系统路径:
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
这个解决办法非常简单。
只需要加上安装的步骤。
所以,原本你是这样写的:
setup.py py2exe
现在你应该改成:
setup.py py2exe install
这样就可以正常工作了。
4
这是你的问题:
sys.path.append('F:\Program Files\Python26\Lib\site-packages\py2exe')
反斜杠(\
)是一个转义字符,在几乎所有编程语言中,包括Python,都会以特殊的方式来处理它。
很不幸的是,DOS(以及后来的Windows)也把反斜杠当作目录分隔符,而不是斜杠。这背后有一些历史原因...
无论如何,你有几个选择:
可以使用斜杠。Python会在内部把它们转换成反斜杠。
d = 'C:/Program Files/'
可以使用两个反斜杠,这样可以转义反斜杠并插入一个单独的反斜杠。
d = 'C:\\Program Files\\'
可以使用“原始”字符串,这样就不会解释转义字符。只需在字符串前加一个r
即可。
d = r'C:\Program Files\'
我个人更喜欢第一个解决方案。不过我也看到其他两个方案被广泛使用。请注意,这种情况也是可以反过来的,所以如果你使用反斜杠,Python会在UNIX和Linux系统上把它转换成斜杠。
作为一个额外的小提示,这里也可以提到os.path.join()函数哦 :)