【问题标题】:How to write setup.py to include a specific git repo as a dependency如何编写 setup.py 以包含特定的 git repo 作为依赖项
【发布时间】:2020-01-16 15:06:13
【问题描述】:

我的包依赖于另一个 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 安装我的基础模块而不是另一个基础模块的选项?

我正在使用 pip 19.03。

【问题讨论】:

    标签: python pip setuptools


    【解决方案1】:

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

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

    SomeProject @ file:///somewhere/...
    

    【讨论】:

      猜你喜欢
      • 2015-12-17
      • 1970-01-01
      • 2018-03-02
      • 2017-02-25
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      相关资源
      最近更新 更多