gpt4 book ai didi

Python setuptools 读取 setup.cfg 配置时出现 AttributeError

转载 作者:行者123 更新时间:2023-11-30 22:06:52 24 4
gpt4 key购买 nike

我有以下setup.py文件:

import setuptools
import setuptools.config

_CONFIG = setuptools.config.read_configuration('setup.cfg')

setuptools.setup(
**_CONFIG
)

...和 ​​setup.cfg 文件:

[metadata]
name = Example
version = 1.0.0
author = First Last
author_email = first.last@example.com
home_page = https://www.github.com/firstlast/example
description = Example is an example project.
long_description = file: README.md
license_file = LICENSE
platform = any
keywords = example
classifiers =
Programming Language :: Python
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
License :: Other/Proprietary License
Operating System :: OS Independent

[options]
zip_safe = False
include_package_data = True
python_requires = >= 2.7, != 3.0.*, != 3.1.*, != 3.2.*
packages =
example
setup_requires =
setuptools
install_requires =
requests

[options.extras_require]
dev =
ipython


为了安装该模块,我执行以下操作:

  1. 使用 pipelinev 创建虚拟环境。

    $ pipenv --three
  2. 激活虚拟环境。

    $ pipenv shell
  3. 尝试在虚拟环境中安装示例模块。

    $ pip install .


当我执行步骤 #3 时,出现以下错误:

Processing /Users/firstlast/Stuff/learn/python/setuptools/example
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/jw/f2zw3cls6xj20dld1h8st4jc0000gp/T/pip-req-build-rcbbm11x/setup.py", line 37, in <module>
**_CONFIG
File "/Users/firstlast/.local/share/virtualenvs/example-tYFXe0D0/lib/python3.7/site-packages/setuptools/__init__.py", line 140, in setup
return distutils.core.setup(**attrs)
File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/firstlast/.local/share/virtualenvs/example-tYFXe0D0/lib/python3.7/site-packages/setuptools/dist.py", line 370, in __init__
k: v for k, v in attrs.items()
File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py", line 251, in __init__
for (opt, val) in cmd_options.items():
AttributeError: 'bool' object has no attribute 'items'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/jw/f2zw3cls6xj20dld1h8st4jc0000gp/T/pip-req-build-rcbbm11x/


看起来setuptools正在使用zip_file指定的值作为字典,而实际上它是一个 bool 值。


有人可以解释一下我做错了什么吗?



注意

通过pipenv --third在虚拟环境中安装的Python版本是Python 3.7。

我已确认在虚拟环境中,setuptools 是最新的(即 pip install --upgrade setuptools => “要求已达到最新版本-date: ... (40.4.3)"),以及pip本身(即pip --version == 18.0)。

最佳答案

这不是 setup.cfg 的使用方式。 read_configuration() 仅供想要读取 setup.cfg 的非 setuptools 代码使用;无需在您自己的 setup.py 中调用它,因为 setup() 会自行读取和处理 setup.cfg 。只需将您的 setup.py 更改为:

import setuptools

setuptools.setup()

关于Python setuptools 读取 setup.cfg 配置时出现 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52600825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com