每次我在 VSCode 中打开终端时都会出现“setup.py install is deprecated”警告

ric*_*row 32 python visual-studio-code

每次在 VSCode 上启动终端时,都会收到以下提示。Terminal.app 上不会发生这种情况。

    /usr/local/lib/python3.9/site-packages/setuptools/command/install.py:34:
SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip
and other standards-based tools.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

ani*_*ion 28

我假设您在构建.whl文件执行类似python Setup.py bdist_wheel --dist-dir .. (如果不是:这个答案可能不适用于您的问题。)您看到的警告想说的是,调用python Setup.py ...现在调用已经过时了。

解决方案,简而言之:

setup.py用。。。来代替pyproject.toml。您可以输入类似 INI 文件的结构中pyproject.toml的所有值。然后使用命令setup.py创建文件。.whlpython -m build

有关 python-packages 和的更多信息pyproject.tomlhttps ://packaging.python.org/en/latest/tutorials/packaging-projects/

有关如何使用pyproject.toml的更多信息setuptoolshttps://setuptools.pypa.io/en/latest/userguide/pyproject_config.html


Jia*_*eDu 26

使用以下命令安装setuptools 58.2.0版本:

pip install setuptools==58.2.0
Run Code Online (Sandbox Code Playgroud)

  • 我可以确认这是有效的,但即使使用最新版本的 setuptools(当前为 65.5.0)也能解决这个问题。所以你的答案似乎是一种解决方法,而不是解决方案。 (26认同)

xjc*_*jcl 8

直接调用setup.py已被弃用,如此处所述

我按照消息告诉我的那样做了,现在使用 pip 构建轮子(它仍然在内部调用setup.py):

pip wheel --no-deps -w dist .
Run Code Online (Sandbox Code Playgroud)

这取代了我旧的等效代码:

python setup.py bdist_wheel
Run Code Online (Sandbox Code Playgroud)

请注意,默认情况下,该pip wheel命令会在当前目录中创建轮子,这就是为什么我指定-w/--wheel_dir来匹配使用该./dist目录的旧行为。

我还指定--no-depspip 不下载所有依赖项的wheel 文件。


Rea*_*uee 7

您可以使用pip来安装setup.py。

pip install .
Run Code Online (Sandbox Code Playgroud)

该命令假设您位于该setup.py文件所在项目的根目录中。指定.当前目录作为安装源。