python - 使用 python pip install git+git 设置本地 Python 环境
问题描述
我知道可以使用以下命令从 git 和 pip 安装软件包。
pip install git+git://github.com/author/package.git@master
所以基本上这个新命令应该做的是,
它应该在我的本地安装所有必需的包,只需使用名称或更准确地说,无需我将完整的包上传到 git,只有它们的名称。
所以基本上,我试图用 git 复制这个命令。
pip install -r requirements.txt
这甚至可能吗?有人做过吗?
示例:Requirements.txt 包含:
pandas==1.0.4
matplotlib==3.2.1
numpy=1.18.5
因此,如果可能的话,在 git 中使用 setup.py 安装该软件包。
import pip
with open('requirements.txt','r') as fh:
for line in fh.readlines():
pip install line
解决方案
仍然不确定我是否完全理解,这里的目标是什么......
也许您想以某种方式将文件放在 git 存储库中并使用piprequirements.txt
安装它。目标是控制需求版本。
我相信你可以使用某种没有代码,只有依赖项的假 Python 包来达到这种效果。
将以下 2 个文件放在MyDependencies
git 存储库中:
setup.py
#!/usr/bin/env python3
import pathlib
import pkg_resources
import setuptools
with pathlib.Path('requirements.txt').open() as requirements_txt:
install_requires = [
str(requirement)
for requirement
in pkg_resources.parse_requirements(requirements_txt)
]
setuptools.setup(
name='MyDependencies',
version='0.0.0',
install_requires=install_requires,
)
requirements.txt
pandas==1.0.4
matplotlib==3.2.1
numpy=1.18.5
然后可以像这样安装依赖项:
path/to/pythonX.Y -m pip install --upgrade git+git://github.com/username/MyDependencies.git@master
如果我没记错的话,这应该可以解决问题。
参考资料:
推荐阅读
- mysql - 如何在 MySQL 中选择冠军得主
- javascript - “Uncaught TypeError: seat[Symbol.iterator] is not a function”是什么意思?
- r - F# R 类型提供程序 - Anova:具有因子和错误的公式
- flutter - MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in) 如何在flutter中解决
- python - 可以创建一个钩子来在 pyinstaller 执行中发送电子邮件吗?
- android - 在android studio中使用camara检测颜色
- rest - 如何识别 REST 服务的浏览器和后端消费者
- javascript - 单击复选框时如何添加动态texfield?
- javascript - Typescript异步函数中的“UnhandledPromiseRejectionWarning:无法读取未定义的属性”
- flutter - 将 Firestore DocumentSnapshot 映射到类中的属性