【问题标题】:setup.py giving syntax error while installing modulesetup.py 在安装模块时给出语法错误
【发布时间】:2017-11-12 00:14:39
【问题描述】:

我一直在尝试通过“Learn Python the Hard Way”来学习 Python,在 ex46 中他告诉我们将脚本放入 bin 并使用 setup.py 安装它。

我的脚本名称是 script1.py 这是我的 setup.py 文件:

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup

config = [
          'description': 'My Project',
          'author': 'My Name',
          'url': 'URL to get it at.',
          'download_url': 'Where to download it.',
          'author_email': 'My email.',
          'version': '0.1',
          'install_requires': ['nose'],
          'packages': ['NAME'],
          'scripts': ['bin/script1.py'],
          'name': 'projectname'
        ]
setup(**config)

输出:

File "setup.py", line 7
'description': 'My Project',
             ^
SyntaxError: invalid syntax
  • 我使用的是 ubuntu 16.04 和 python 2.7.13

【问题讨论】:

  • FWIW,SO Python 聊天室常客do not recommend LPTHW。如果它对你有用,那就太好了,但请注意这本书有几个问题。另请注意,Python 2 将在 2020 年结束生命,因此您真的应该学习 Python 3,除非您需要 Python 2 来处理遗留代码。
  • @PM2Ring 谢谢你,先生。我即将完成这本书,然后我将转向学习 python 3。python 3 与 python 2.7 完全不同吗?
  • 不,Python 3 与 python 2.7 并没有完全不同,但有一些重要的区别。特别是,Python 3 明确区分了文本和字节,这使得它可以更好地处理 Unicode。
  • 现在学习 Python 2 是浪费时间,因为您使用的是 Ubuntu 16.04,而 Python 3 可以使用简单的python3 命令运行 - 它作为大多数 Python 脚本预安装在操作系统 需要 Python 3.
  • 我不会说学习 Python 2 是浪费时间,但我强烈建议您将精力投入到 Python 3 上。

标签: python python-2.7 oop setup.py pypi


【解决方案1】:

您的描述显示为一个列表(以[ 和] 开头和结尾),但应该是一个字典(以{ 和} 开头和结尾)。

列表就是这样,一个逗号分隔的项目列表,其开始和结束由括号指示([ 和])。另一方面,dict 是逗号分隔的键/值对列表,由大括号({ 和})表示。该错误告诉您冒号(它将字典的键与其值分开)不合适,因为它认为它是一个列表。通过将开始和结束括号更改为大括号,它将正确地将其识别为字典。

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2022-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多