我的项目使用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中直接调用pip作为pip3
但是我得到了另一个错误,说明在下面的Python安装中有类似模块pip的东西(包含版本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
答案 0 :(得分:0)
你需要安装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