我正在尝试将 Python 脚本作为 Gitlab 管道的一部分运行。 它似乎开始正常,我可以与 python 交互以获取版本并检查系统路径。 但是,当我从 gitlab-ci.yml pip(3) 安装某些东西时,我无法将它导入到下一行调用的 python 脚本中。
例如:
test:
script:
- pip3 install mysql <-- this gives no errors and reports success
- python3 -c "import mysql" <-- this fails with ModuleNotFoundError...
如果我尝试使用
从管道中执行导入语句,我的 runtest.py 脚本中的导入语句也会失败 - python3 runtest.py
这是我当前的 gitlab-ci 文件:
stages:
- test
image: python:latest
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip
- venv/
before_script:
- python3 -V
- pip3 install virtualenv
- virtualenv venv
- source venv/bin/activate
test:
script:
- pip3 install mysql
- python3 -c "import mysql"
- python3 runtest.py
when: manual
我错过了什么?
非常感谢任何指针。 谢谢。
答案 0 :(得分:1)
安装mysql本身是不够的。
Python 也需要 mysql-connector,如 this answer 所示。
pip3 install mysql-connector-python
然后看看是否仍然弹出相同的 ModuleNotFoundError
。