我正要尝试从 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
处于可编辑状态的项目?
我想为 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.toml
plus 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_modules
kwarg(特别Extension()
是调用)转换为setup.cfg
语法的解释。
我正在尝试在 Google Chrome 上安装扩展程序,当我将.crx
文件拖放到扩展程序页面时出现此错误:Package is invalid: CRX_HEADER_INVALID
.
我该如何安装?
当我尝试使用某些软件包安装它们时,它们会出现错误pip install
。这是我尝试安装时的错误chatterbot
, but some other packages give this error as well:
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) 我在 GitLab 上有一个存储库,我也在 GitHub 上发布了它。
到目前为止,我使用的所有 Git 命令都在 GitLab 上进行了更改。但是,我希望在 GitHub 上进行这些提交。
我试过命令:
git remote set-url origin git@github.com:repo-url
Run Code Online (Sandbox Code Playgroud)
有人可以建议我如何设置 URL 以便命令可以在 GitHub 而不是 GitLab 上运行吗?
python ×3
pip ×2
setup.py ×2
setuptools ×2
dependencies ×1
git ×1
git-fetch ×1
git-pull ×1
git-push ×1
git-remote ×1
packaging ×1