我有一个不包含requirements.txt. 但它有一个pyproject.toml文件。
如何下载此 Python 项目所需的包(依赖项)并使用pyproject.tomlPip 包管理器(而不是构建工具 Poetry)声明。
因此pip download -r requirements.txt,而不是类似的东西pip download -r pyproject.toml。
我正在创建一个setup.py来分发我的应用程序.这个应用程序有许多依赖项,可以通过pip安装,它也有一些自定义的依赖项,无法从PyPI安装.
所以,我已经创建了一个custom_package_0.1.whl将包含在发行版中,并且必须在setup.py安装所有内容之后作为依赖项安装install_requires.
想象一下以下app结构:
my_app/
win_deps/custom_package_0.1.whl
my_app/
__init__.py
main.py
setup.py
setup.cfg
Run Code Online (Sandbox Code Playgroud)
我怎么做?
我正在尝试运行:
pip3 install -e .
在我的Python项目中,我有以下内容setup.py:
from setuptools import setup
setup(
name='mypackage',
install_requires=[
"anotherpackage@git+git@bitbucket.org:myorg/anotherpackage.git"
]
)
Run Code Online (Sandbox Code Playgroud)
但是它失败了:
error in mypackage setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid URL given
Run Code Online (Sandbox Code Playgroud)
我猜想我的URL格式是正确的,因为PEP 508不允许为ssh克隆URL指定git用户名。
带有git + ssh协议的PEP 508 URL与install_requires私有git存储库(在本例中为BitBucket托管)相关的正确语法是什么?指定特定分支,标记或sha的语法是什么?
我有一个内部Python项目,该项目依赖于多个内部开发的Python包。我想避免在组织中托管自己的PIP存储库的必要,因此,我尝试直接使用git URL。我需要对git URL使用ssh协议,因为所有用户都已配置了他们的ssh密钥,要求所有用户在BitBuckets中配置其应用密码会很麻烦(我需要2FA,并且常规用户密码无效) 。
我已经尝试使用:
dependency_linkssetup(
name='mypackage',
install_requires=[
"anotherpackage==0.0.1"
],
dependency_links=[
"git+git@bitbucket.org:myorg/anotherpackage.git@0.0.1#egg=anotherpackage-0.0.1"
]
)
Run Code Online (Sandbox Code Playgroud)
但是它们已被弃用,并且被忽略pip3 install -e .。根据我发现的文档,应该改用PEP 508 URL。
requirements.txt与项文件从重复的install_requires条目 …