一切看似正确,但仍然有错误。 相同的代码在我的本地计算机上工作,但在 GitLab-ci 上不起作用
我想知道“pip install -r $CI_PROJECT_DIR/scripts/config_creator/requirements.txt”是否会破坏某些东西
Gitlab-ci 阶段
Clone Siteconfigs:
stage: configure-site
script:
- echo $PYTHONPATH
- apt-get update --yes
- apt-get install --yes python3-pip
- python3 --version
- pip install -r $CI_PROJECT_DIR/scripts/config_creator/requirements.txt
- echo $PYTHONPATH
- export PYTHONPATH=$CI_PROJECT_DIR
- echo $PYTHONPATH
- python3 -c "import sys; print(sys.path)"
- python3 $CI_PROJECT_DIR/scripts/config_creator/__main__.py create-loadtest-config-file --dataset-uri-list ${LOADTEST_SOURCES_DATASET_URI_LIST}
GitLab-CI 输出
$ echo $PYTHONPATH
/builds/qa/load-test-ci
$ python3 -c "import sys; print(sys.path)"
['', '/builds/qa/load-test-ci', '/usr/lib/python39.zip', '/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload', '/usr/local/lib/python3.9/dist-packages', '/usr/lib/python3/dist-packages']
$ python3 $CI_PROJECT_DIR/scripts/config_creator/__main__.py create-loadtest-config-file --dataset-uri-list ${LOADTEST_SOURCES_DATASET_URI_LIST}
Traceback (most recent call last):
File "/builds/qa/load-test-ci/scripts/config_creator/__main__.py", line 1, in <module>
from scripts.config_creator.cli.main import main
ModuleNotFoundError: No module named 'scripts.config_creator'
主要.py
from scripts.config_creator.cli.main import main
if __name__ == '__main__':
main()
我发现了这个问题,这是因为
pip install
之后带有一个包名“scripts”,更改 scripts
->my_scripts
后它就可以工作了。