首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SyntaxError on setup.py

SyntaxError on setup.py
EN

Stack Overflow用户
提问于 2016-06-24 17:22:44
回答 1查看 142关注 0票数 0

我对python很陌生,我正在尝试使用py2exe从我编写的python代码中创建一个exe文件。在关于如何使用setup.py的教程之后,我创建了以下py2exe文件:

代码语言:javascript
复制
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中运行它时,我会得到以下错误:

代码语言:javascript
复制
SyntaxError: non-keyword arg after keyword arg

我读过其他几篇关于这个错误的文章,基本上是说我应该在"data_files“之前加上"etc”。但是,当我这样做时,我会得到一个名称错误undefined name sys

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

有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 17:25:52

我读过关于这个错误的其他几篇文章,基本上是说我应该在“之前加上"etc“。但是,当我这样做时,我会得到一个名称错误undefined name sys

这就是这个问题的解决方案,尽管这样您就会在etc中遇到相同的错误,因为它没有在任何地方定义(我相信它是用来说明setup可以接受其他参数,而不是用于您的代码中)。

您将获得undefined name sys,因为这是代码中另一个无关的问题。

您应该添加import sys

代码语言:javascript
复制
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")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38018959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档