在Github工作流main.yml上,我做了以下添加到PYTHONPATH的操作
PWD=$(pwd)
export PYTHONPATH=$PWD/src:$PWD/tests:$PYTHONPATH我使用以下命令验证了PYTHONPATH
echo "PYTHONPATH=$PYTHONPATH"输出为PYTHONPATH=/home/runner/work/my_api/my_api/src:/home/runner/work/my_api/my_api/tests
我有一个叫做my_api生活在/home/runner/work/my_api/my_api/src下的模块
但现在我得到了ModuleNotFoundError: No module named 'my_api',似乎出口PYTHONPATH对系统没有任何影响。下面是完整的工作文件YML文件。
name: Integration Test Run
env:
HISTORIC_DATA_FOLDER: /usr/my_api_historic_data
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Python 3
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Filessytem Setup
run: |
pwd
mkdir my_api_historic_data_test
- name: Docker Compose
run: |
sudo docker-compose -f docker-compose-github.yml build
sudo docker-compose -f docker-compose-github.yml --verbose --env-file .env up &
- name: Intgration Test Setup
run: |
echo "-----pwd-----"
pwd
echo "-----ls-----"
ls
echo "-----ls src/-----"
ls src/
echo "----PYTHONPATH------"
PWD=$(pwd)
export PYTHONPATH=$PWD/src:$PWD/tests:$PYTHONPATH
echo "PYTHONPATH=$PYTHONPATH"
echo "-----HISTORIC PATH----"
export HISTORIC_DATA_FOLDER=/home/runner/work/my_api/my_api/my_api_historic_data_test
echo "HISTORIC_DATA_FOLDER=$HISTORIC_DATA_FOLDER"
- name: Integreation Test Run
run: |
sleep 30
pip install requests
sudo python -m unittest discover发布于 2021-12-20 08:50:15
正如在评论中已经说过的,每个step都运行在自己的shell中。您需要确保正确导出变量,以便在随后的所有步骤中都可用。
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV有关更多详细信息,请参阅文档。
https://stackoverflow.com/questions/70415156
复制相似问题