问题描述
所以,我想在我的项目中使用 python3-mapnik
。为此,我必须使用 sudo apt install python3-mapnik
安装它。为了使该模块在我的 github 操作环境中可用,我需要修改 PYTHONPATH 环境变量,这是工作流程:
name: Python
on:
push:
branches-ignore:
- 'staging*'
- 'automated-tests'
jobs:
python_utils_tests_page_0:
runs-on: ubuntu-18.04
services:
postgres:
image: cheewai/postgis:postgres-10.1
env:
# duplicated to avoid problems with current Codeship environment variables
PG_USER: postgres
PG_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: test
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.6'
- uses: actions/cache@v2
id: cache
with:
path: ${{ env.pythonLocation }}
key: pip-${{ env.pythonLocation }}-${{ hashFiles('**/requirements.txt') }}-${{ hashFiles('**/requirements_dev.txt') }}
restore-keys: pip-${{ env.pythonLocation }}
- name: Install dependencies
run: |
sudo rm -rf /usr/lib/python3/dist-packages/six-1.11.0.egg-info
sudo rm /usr/lib/python3/dist-packages/six.py
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip==21.0.1
pip install -r requirements.txt
pip install -r requirements_dev.txt
- name: Install apt dependencies
run: |
echo "PYTHONPATH=/usr/lib/python3/dist-packages" >> $GITHUB_ENV
sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
sudo apt-get install libmapnik3.0 libmapnik-dev python3-mapnik
行 echo "PYTHONPATH=/usr/lib/python3/dist-packages" >> $GITHUB_ENV
的问题在于,该目录包含大量来自我使用的某些软件包(如 six
软件包)的旧版本的蛋。
起初我想:嘿,我可以删除那个pacakge,所以我添加了这两行:
sudo rm -rf /usr/lib/python3/dist-packages/six-1.11.0.egg-info
sudo rm /usr/lib/python3/dist-packages/six.py
但是后来我得到了一个错误,因为另一个 httplib2
的鸡蛋包含一个非常旧的版本。
所以,总而言之,我需要一种方法来使 python3-mapnik
包可用于 python 项目,但不能使该文件夹中存在的其余鸡蛋/包可用。为此,我想出了两个选项:
有什么想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)