小编Evg*_*423的帖子

pyproject.toml 文件有什么用?

背景

我正要尝试从 GitHub 下载的 Python 包,发现它没有 . setup.py,所以我无法安装它

pip install -e <folder>
Run Code Online (Sandbox Code Playgroud)

相反,该包有一个pyproject.toml文件,该文件似乎与setup.py通常的条目非常相似。

我发现了什么

谷歌搜索引导我进入PEP-518,它setup.py在基本原理部分给出了一些批评。但是,它没有明确说明setup.py应该避免使用 ,或者pyproject.toml完全取代setup.py.

问题

pyproject.toml用来代替的东西setup.py吗?或者一个包应该同时带有 apyproject.toml和 a setup.py
如何安装pyproject.toml处于可编辑状态的项目?

python packaging pip pyproject.toml

55
推荐指数
4
解决办法
2万
查看次数

如何构建符合 PEP 517 的 C 扩展,即使用 pyproject.toml 而不是 setup.py?

我想为 CPython 构建一个 C 扩展。我可以按照传统方式使用setup.py文件来完成此操作。然而,由于 PEP 517 中提到的原因,我更喜欢使用pyproject.toml. 据我所知,这setuptools是唯一可以在所有相关平台上构建 C 扩展的构建后端。事实上,我不知道有任何后端能够与过时的distutils.

在此背景下,常见的情况setup.py如下所示:

from setuptools import setup, Extension
kwargs = dict(
    name='mypackage',
    # more metadata
    ext_modules=[
        Extension('mypackage.mymodule', ['lib/mymodule.c',
                                         'lib/mypackage.c',
                                         'lib/myalloc.c'],
                  include_dirs=['lib'],
                  py_limited_api=True)])

setup(**kwargs)
Run Code Online (Sandbox Code Playgroud)

现在,挑战是将以上内容放入 a pyproject.tomlplus a中setup.cfg

文档setuptools建议pyproject.toml如下:

[build-system]
requires = [
    "setuptools >=52.0",
        'wheel >= 0.36']
build-backend = "setuptools.build_meta"
Run Code Online (Sandbox Code Playgroud)

此外,实际的元数据应该进入setup.cfg. 但是,我还没有找到任何关于如何将ext_moduleskwarg(特别Extension()是调用)转换为setup.cfg语法的解释。

python setuptools setup.py python-packaging pyproject.toml

26
推荐指数
1
解决办法
4703
查看次数

从文件安装 Chrome 扩展程序时出错:CRX_HEADER_INVALID

我正在尝试在 Google Chrome 上安装扩展程序,当我将.crx文件拖放到扩展程序页面时出现此错误:Package is invalid: CRX_HEADER_INVALID.

我该如何安装?

google-chrome google-chrome-extension

9
推荐指数
2
解决办法
2万
查看次数

`pip install` 在某些软件包上出现错误

当我尝试使用某些软件包安装它们时,它们会出现错误pip install。这是我尝试安装时的错误chatterbot, but some other packages give this error as well:

\n
pip install chatterbot\nCollecting chatterbot\n  Using cached ChatterBot-1.0.5-py2.py3-none-any.whl (67 kB)\nCollecting pint>=0.8.1\n  Downloading Pint-0.19.2.tar.gz (292 kB)\n     \xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81 292.0/292.0 kB 1.6 MB/s eta 0:00:00\n  Installing build dependencies ... done\n  Getting requirements to build wheel ... done\n  Preparing metadata (pyproject.toml) ... done\nCollecting pyyaml<5.2,>=5.1\n  Using cached PyYAML-5.1.2.tar.gz (265 kB)\n  Preparing metadata (setup.py) ... done\nCollecting spacy<2.2,>=2.1\n  Using cached spacy-2.1.9.tar.gz (30.7 MB)\n  Installing build dependencies ... error\n  error: subprocess-exited-with-error\n\n  \xc3\x97 pip …
Run Code Online (Sandbox Code Playgroud)

python dependencies pip setuptools setup.py

9
推荐指数
1
解决办法
12万
查看次数

如何将本地存储库上的 URL 从 GitLab 更改为 GitHub?

我在 GitLab 上有一个存储库,我也在 GitHub 上发布了它。

到目前为止,我使用的所有 Git 命令都在 GitLab 上进行了更改。但是,我希望在 GitHub 上进行这些提交。

我试过命令:

git remote set-url origin git@github.com:repo-url
Run Code Online (Sandbox Code Playgroud)

有人可以建议我如何设置 URL 以便命令可以在 GitHub 而不是 GitLab 上运行吗?

git git-pull git-push git-fetch git-remote

3
推荐指数
1
解决办法
3778
查看次数