【问题标题】:No module named pip on Travis CITravis CI 上没有名为 pip 的模块
【发布时间】:2018-01-03 09:50:25
【问题描述】:

我的项目使用 Java (8) 和 Python (2.7, 3.6) 构建了多语言版本。我正在尝试使用 Travis CI 设置一个持续集成系统,但是在我的构建脚本上运行 pip 时遇到了问题,因为 Travis CI 一直告诉我:

/usr/bin/python3: No module named pip

我已经用一个非常简单的构建脚本尝试了这个:

python3 -m pip --version

我也尝试在 Python 3 中直接以 pip3 调用 pip,但我收到另一个错误,说模块 pip 在以下 Python 安装中可用(带有版本 3.6 和 3.6.3 的列表)。

我有以下矩阵来设置我的构建环境:

matrix:
    include:
        - language: java
          jdk: openjdk8
        - language: python
          python:
              - 2.7
              - 3.6

我期待在这里指定 Python 3.6 将设置 pip 以及自 3.4 以来的情况,如果我理解正确的话。我还有什么遗漏的吗?


更新:

根据我之前得到的回复,我在before_script 脚本中添加了以下内容:

before_script:
    - python2.7 -m pip || wget https://bootstrap.pypa.io/get-pip.py | python2.7
    - python3 -m pip || wget https://bootstrap.pypa.io/get-pip.py | python3

但我仍然遇到同样的错误:

$ python2.7 -m pip || wget https://bootstrap.pypa.io/get-pip.py | python2.7 
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

$ python3 -m pip || wget https://bootstrap.pypa.io/get-pip.py | python3 
/usr/bin/python3: No module named pip
--2018-01-03 11:52:33--  https://bootstrap.pypa.io/get-pip.py
Resolving bootstrap.pypa.io (bootstrap.pypa.io)... 151.101.0.175,
151.101.64.175, 151.101.128.175, ... 
Connecting to bootstrap.pypa.io (bootstrap.pypa.io)|151.101.0.175|:443... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 1595408 (1.5M) [text/x-python] Saving to: ‘get-pip.py’ 

100%[======================================>] 1,595,408   --.-K/s   in 0.1s     

2018-01-03 11:52:34 (13.5 MB/s) - ‘get-pip.py’ saved [1595408/1595408]

$ python3 -m pip --version /usr/bin/python3: No module named pip

【问题讨论】:

  • 普通 python 不包含 pip。

标签: python python-3.x travis-ci


【解决方案1】:

你需要安装pip,试试这样的

wget -qO- https://bootstrap.pypa.io/get-pip.py | python

Travis 将运行 两个 构建,首先使用 python 2.7 然后使用 3.6,而不是将所有东西都安装到同一个 VM 中。 2.7 将缺少点子。此外,即使它确实将所有内容安装到同一个 VM 中,您仍然应该使用正确的 python 版本运行 pip 以避免出现问题。

您也可以仅在需要时安装它,例如

script:
    python -m pip || wget -qO- https://bootstrap.pypa.io/get-pip.py | python

【讨论】:

  • 这是否意味着不可能拥有一个能够运行我的构建脚本的一体化环境?我的构建脚本要求构建环境同时安装所有 Java 和 Python 版本。
  • 是的,如果您像以前那样使用“包含”,这是可能的。更新问题
  • 问题是你要运行两个构建,一个用于 2.7,一个用于 3.6,如果你坚持 3.6,你应该没问题。
  • 所以我的项目中有一部分是在 Python 2.7 上运行的。只设置 Python 3 不会导致问题吗?
  • 即使在添加脚本之后,我仍然遇到同样的错误。
猜你喜欢
  • 2014-11-15
  • 2021-06-23
  • 2020-01-30
  • 2021-06-08
  • 2013-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-25
相关资源
最近更新 更多