GitHub Actions 无法设置 Python 虚拟环境
Posted
技术标签:
【中文标题】GitHub Actions 无法设置 Python 虚拟环境【英文标题】:GitHub Actions unable to set up Python Virtual Environment 【发布时间】:2021-04-29 18:43:29 【问题描述】:我需要设置一个虚拟环境,并安装我的 Flask 应用程序的要求。
但是,这里出现错误:
sudo apt install python3-venv
sudo python3.8 -m venv venv
这是我的 GitHub Actions 的 .yml
文件。
name: TEST
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup system group
run: |
if [ ! $( getent group uni ) ]; then sudo addgroup --system uni; fi
- name: Setup system user
run: |
if [[ $(getent passwd uni) = "" ]]; then sudo adduser --no-create-home --force-badname --disabled-login --disabled-password --system uni; fi
- name: Add user user to group
run: |
sudo usermod -g uni uni
- name: Setup base directory
working-directory: /
run: |
if [ ! -d ./uni/test/app ]; then sudo mkdir -p ./uni/test/app; fi
sudo chown uni:uni -R /uni/test
sudo chmod 775 -R /uni/test
- name: Setup log directory
working-directory: /var/log
run: |
if [ ! -d ./uni/test ]; then sudo mkdir -p ./uni/test; fi
sudo chown uni:uni -R ./uni/test
sudo chmod 755 -R ./uni/test
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Setup Python virtual environment
working-directory: /uni/test/app
run: |
sudo apt install python3-venv
sudo python3.8 -m venv venv
- name: Install dependencies
working-directory: /uni/test/app/venv
run: |
source ./bin/activate
pip install --upgrade pip
pip install wheel
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
deactivate
我在这里做错了什么?
有没有办法可以在下面的块中安装 python3-venv?
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
【问题讨论】:
你好。请提供您遇到的错误 【参考方案1】:我刚刚测试了一个simple workflow here(下同)来使用虚拟环境。
使用actions/checkout
和setup-python
操作使用python3.8 -m venv env
命令创建虚拟环境时,您似乎不需要sudo apt install python3-env
命令。
on:
push:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Run Python commands
run: |
pip install --upgrade pip
python3.8 -m venv env
source env/bin/activate
echo "VIRTUAL ENV:" $VIRTUAL_ENV
在workflow run logs 上回复我VIRTUAL ENV: /home/runner/work/poc-github-actions/poc-github-actions/env
。
【讨论】:
感谢您的回答。我前一阵子解决了,只是忘了更新这个问题。以上是关于GitHub Actions 无法设置 Python 虚拟环境的主要内容,如果未能解决你的问题,请参考以下文章
如何在 GitHub Actions 中使用 env 文件?
GitHub Actions 使用从 shell 设置的变量
GitHub Actions:过滤器返回“jq:错误无法迭代 null (null)”
如何在 GitHub Actions 中使用 bash 表达式设置 env var?
无法从 GitHub Actions 发布到 npm:`<package> is not in the npm registry` 错误