我正要尝试从GitHub下载的Python包,意识到它没有setup.py
,所以我不能用
pip install -e <folder>
相反,这个包有一个< code>pyproject.toml文件,它似乎与< code>setup.py通常具有的条目非常相似。
Google引导我进入PEP-518,它在Rationale部分对setup.py
进行了一些批评。然而,它没有明确说明应该避免使用setup.py
,或者pyproject.toml
将因此完全取代setup.py
。
pyproject.toml
是用来替换setup.py
的东西吗?或者一个包应该同时带有pyproject.toml
和setup.py
?
如何安装处于可编辑状态的pyproject.toml
的项目?
目前有多种打包工具在Python社区中很流行,虽然setuptools
似乎仍然很流行,但它并不流行
pip
不支持基于源代码中的其他打包工具安装包,因此这些工具必须生成设置。py</code>文件生成兼容的包。要构建分发包,必须先安装打包工具,然后使用特定于工具的命令
如果包作者决定更改打包工具,则必须将工作流更改为
pyproject.toml
是PEP引入的新配置文件
……想想为项目生成构建工件所需的(粗略)步骤:
项目的源检出。
- 安装构建系统。
- 执行构建系统。
此 PEP [518] 涵盖步骤 #2。政治人物
任何工具都可以使用自己的部分(表)扩展此文件以接受特定于工具的选项,但这取决于它们,而不是必需的。
PEP
pyproject.toml
是新的统一Python项目设置文件,它取代了setup.py
。可编辑的安装仍然需要setup.py
:导入设置工具;setuptools.setup()
要使用pyproject.toml
,请运行python -m pip install。
然后,如果项目使用诗歌
而不是 pip
,则可以像这样安装依赖项(到 %USERPROFILE%\AppData\Local\pypoetry\Cache\virtualenvs
) 中:
poetry install
然后运行依赖项,如pytest:
poetry run pytest tests/
和预提交(使用.pre-commit-config.yaml
):
poetry run pre-commit install
poetry run pre-commit run --all-files
是的,pyproject.toml
是 PEP 518 的指定文件格式,其中包含 Python 项目的构建系统要求。
这解决了构建工具依赖鸡和蛋的问题,即pip
可以读取pyproject.toml
以及可能需要什么版本的setup的
或轮
。
如果需要 setup.py
进行可编辑安装,可以在 setup.py
中使用填充程序:
#!/usr/bin/env python
import setuptools
if __name__ == "__main__":
setuptools.setup()
问题内容: libtool的文件有哪些用途?它们如何与共享库一起使用? 问题答案: 它是一个文本文件,其中包含对库的描述。 它允许创建与平台无关的名称。 例如,转到: 在Linux下: 在Cygwin下: 在Windows MinGW下: 所以是由平台之间保留的唯一文件,允许以理解与发生了什么: 库依赖 实际文件名 库版本和修订 无需依赖特定平台的库实现。
本文向大家介绍.npmrc配置文件有什么用途?相关面试题,主要包含被问及.npmrc配置文件有什么用途?时的应答技巧和注意事项,需要的朋友参考一下 .npmrc文件的作用,就是配置npm源。 (该文件在C盘用户文件目录下) eg.淘宝源 registry = https://registry.npm.taobao.org
问题内容: 对我来说,它位于C:\ Python33 \ libs。 供参考-与C:\ Python33 \ Lib 不在 同一个文件夹-请注意大写字母和缺少’s’。 在我正在使用的一台计算机上,我只是将.py文件放到libs文件夹中,并且可以像库/模块一样导入和使用它(对不起,我不太了解术语),无论我在哪里项目正在工作的是。 但是,在尝试在另一台计算机上复制它时,此操作不起作用。尝试导入只会给出
我对docker比较陌生,我想知道docker-compose.yml文件和简单的docker文件有什么基本区别。
问题内容: 当Maven生成JAR文件时,它将模块的POM文件放在内部(似乎在目录 / 中)。 当我从Ant构建一个JAR文件以通过Maven Ant任务进行部署时,此POM文件(JAR内部的一个)的存在重要吗?它似乎没有,但是我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。 问题答案: 在和文件打包在JAR以便由Maven的生产的每个工件是自描述的,也可以让你在使用自己的
个人文件仅限用户自己使用,其他人没有权限查看及操作; 共享文件由团队集体管理,管理员可增减成员,权限默认为查看、下载、在线编辑、分享。