如何编写setup.py以包含特定的git repo作为依赖项

时间:2020-01-16 15:06:13

标签: python pip setuptools

我的软件包对另一个git repo有依赖性。我当前的setup.py文件如下:

#!/usr/bin/env python
# coding: utf-8

from setuptools import setup, find_packages

setup(
  name='myapp', 
  url='git@ssh.xxxxx/dummy/myapp.git',
  packages=find_packages(), 
  install_requires = [
     'base @ git+ssh://git@ssh.xxxx/dummy/base.git'
  ]
)

当我运行命令“ pip3 install。--user”以执行setup.py文件时,在userbase / lib / python3.6 / site-packages中安装了基本模块,但是此模块不是我的基本模块。 运行pip3 install命令后,控制台中的第一行是

Collecting base@ git+ssh://git@ssh.xxxx/dummy/base.git (from myapp==0.0.0)
Downloading https://files.pythonhosted.org/packages/1b/e5/464fcdb2cdbafc65f0b2da261dda861fa51d80e1a4985a2bb00ced080549/base-1.0.4.tar.gz"
Installing collected packages: base, myapp

在我看来pip3正在安装另一个基本模块,因为下载路径不是我的git路径。之后,站点包中的基本文件夹包括“ taobao.py”和“ seo.py”文件等文件。

是否可以选择pip3安装我的基础而不是其他基础模块?

我正在使用19.03点。

1 个答案:

答案 0 :(得分:0)

pip 19.1+支持语法'base @ git+ssh://git@ssh.xxxx/dummy/base.git'

从19.1版开始,pip还支持direct references,如下所示:

SomeProject @ file:///somewhere/...
相关问题