setup.py 上的语法错误

SyntaxError on setup.py

我是 python 的新手,我正在尝试使用 py2exe 从我制作的 python 代码制作一个 exe 文件。我按照有关如何使用 py2exe 的教程制作了以下 setup.py 文件:

from distutils.core import setup
from glob import glob
import py2exe

setup(console=['App.py'])

data_files = [("msvcr90.dll", glob(r'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll\*.*'))]
setup(data_files=data_files, etc)

sys.path.append("C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll")

当我尝试在 cmd 中 运行 它时,出现以下错误:

SyntaxError: non-keyword arg after keyword arg

我读过其他几篇关于这个错误的帖子,基本上都是说我应该在 "data_files" 之前加上 "etc"。但是,当我这样做时,出现名称错误 undefined name sys.

我想将 msvcr90.dll 文件包含在 setup.py

关于如何解决这个问题有什么想法吗?

I have read several other posts on this error basically saying that I should have the "etc" before "data_files". However when I do this, I get a name error undefined name sys

这就是这个问题的解决方案,虽然你会遇到与 etc 相同的错误,因为它没有在任何地方定义(我相信它是一个例子来表明 setup 可以接受其他参数,并不意味着在您的代码中按字面意义使用。

您得到 undefined name sys 因为那是您代码中另一个不相关的问题。

您应该添加 import sys.

from distutils.core import setup
from glob import glob
import py2exe
import sys

setup(console=['App.py'])

data_files = [("msvcr90.dll", glob(r'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll\*.*'))]
setup(data_files=data_files)

sys.path.append("C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll")