我最近从 TravisCI 切换到 circleCI 2.0,当我尝试这样做时遇到了一个问题:export PATH="$MINICONDA/bin:$PATH"
,
它不添加路径变量。
我尝试使用 SSH 连接对其进行调试。我首先检查了是否设置了路径变量(没有设置),后来我尝试手动设置它并且它起作用了。但是,自动执行构建时它不起作用。
这是错误消息:
Complete output from command python setup.py egg_info: Traceback (most
recent call last): File "<string>", line 1, in <module> File
"/tmp/pip-build-m_klG2/snakemake/setup.py", line 13
print("At least Python 3.5 is required.\n", file=sys.stderr)
它基本上看不到通过 conda 安装的 python (3.6) 并尝试运行
pip install -r python-requirements.txt
使用默认 python (2.7) 的命令。我一定错过了一些东西,但我无法弄清楚。
我提供完整的
config.yml
下面的文件。如果您能解释这个问题,我将不胜感激。 version: 2
jobs:
build:
branches:
only:
-dev
machine: true
working_directory: ~/repo
steps:
- checkout
- run:
name: install miniconda
command: |
cd /home/circleci
export MINICONDA=$HOME/miniconda
export PATH="$MINICONDA/bin:$PATH"
hash -r
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -f -p $MINICONDA
conda config --set always_yes yes
conda update conda
conda info -a
conda create -n testenv python=3.6.0
source activate testenv
- run:
name: install requirements
command: |
cd /home/circleci/repo
pip install -r python-requirements.txt
pip install pytest-ordering
- run:
name: download sample dataset
command: |
cd /home/circleci/repo/unit_tests/test_data
wget http://cf.10xgenomics.com/samples/cell-exp/2.1.0/t_3k/t_3k_filtered_gene_bc_matrices.tar.gz
tar -xvfz t_3k_filtered_gene_bc_matrices.tar.gz
- run:
name: run tests
command: |
cd /home/circleci/repo
pytest ./unit_tests
- store_artifacts:
path: test-reports
destination: test-reports
最佳答案
最后,我使用 the docs 2.0 中的插值环境变量解决了这个问题。 .
脚步:
echo 'export MINICONDA=$HOME/miniconda' >> ~/.bashrc
source ~/.bashrc
配置文件:
version: 2
jobs:
build:
branches:
only:
-dev
machine: true
working_directory: ~/repo
steps:
- checkout
- run:
name: install miniconda
command: |
cd /home/circleci
echo 'export MINICONDA=$HOME/miniconda' >> ~/.bashrc
echo 'export PATH="$MINICONDA/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
hash -r
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -f -p $MINICONDA
conda config --set always_yes yes
conda update conda
conda info -a
conda create -n testenv python=3.6.0
echo 'source activate testenv' >> ~/.bashrc
source ~/.bashrc
- run:
name: install requirements
command: |
source ~/.bashrc
cd /home/circleci/repo
# a requirement has install-time dependency on numpy
pip install numpy
pip install -r python-requirements.txt
pip install pytest-ordering
- run:
name: download sample dataset
command: |
cd /home/circleci/repo/unit_tests/test_data
wget http://cf.10xgenomics.com/samples/cell-exp/2.1.0/t_3k/t_3k_filtered_gene_bc_matrices.tar.gz
tar -zxvf t_3k_filtered_gene_bc_matrices.tar.gz
- run:
name: run tests
command: |
source ~/.bashrc
cd /home/circleci/repo
pytest ./unit_tests
- store_artifacts:
path: test-reports
destination: test-reports
[1]: https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables
关于ubuntu - circleCI 2.0 不添加环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50374812/