使用 pip 将 gdal==2.3.3 安装到 venv 中
Install gdal==2.3.3 into a venv with pip
我正在使用带有 python 3.7.4 的 anaconda,我正在研究 VScode。我目前正在创建一个主要使用 bokeh 的 Flask webapp,我正在 google app engine(gcloud) 上部署它。为了使用 GIS,我需要安装 geopandas,这将需要 gdal、fiona、rtree、shapely、pyproj、numpy 等。我在虚拟环境中工作,因此我可以直接使用 pip install [file.whl] 安装 .whl 文件,它可以在本地正常运行。我还为 gdal_data 创建了环境变量,并将其添加到 PATH 变量中。因此,自从我安装了 geopandas 以来,我一直在尝试部署该应用程序,并且 google 给我一个 gdal-config not found 错误。我试图以我对依赖关系和部署的不了解来深入研究它。我得出的结论如下:
conda 将取代 gdal 3.0.4 并安装 gdal 2.3.3
pip 没有这个版本和那个版本的时候就出问题了。
只要我理解它 google 将使用我的 requirements.txt 将我在虚拟环境中使用的库安装到他们的云环境中,因此一旦 pip 找不到 gdal 2.3 就会抛出错误。我将传递给 requirements.txt 的 3 版本和我手动安装的版本。
此外,fiona 是构建 GIS 地块的支柱之一,与 conda 坚持要取代的 gdal 版本不兼容。
我读了很多书,也花了很多时间来处理这个错误。有很多信息主要针对 Linux,但我找不到任何可以帮助我的信息。
如果有人能帮助我,我将不胜感激。
我在安装 gdal 时遇到了同样的问题:
...
main.gdal_config_error: [Errno 2] No such file or directory: 'gdal-config': 'gdal-config' ...
问题是底层 docker 容器没有 运行 这个版本的 gdal 所需的 C 库。因此,您不能为 运行 您的应用程序使用默认的应用引擎环境。
解决方案是创建一个自定义 runtime (i.e. docker container) to run your app engine instance. There is another Whosebug post,其中解释了如何准确地执行此操作。
最重要的一步是包括:
sudo apt-get install gdal-bin python-gdal
我正在使用带有 python 3.7.4 的 anaconda,我正在研究 VScode。我目前正在创建一个主要使用 bokeh 的 Flask webapp,我正在 google app engine(gcloud) 上部署它。为了使用 GIS,我需要安装 geopandas,这将需要 gdal、fiona、rtree、shapely、pyproj、numpy 等。我在虚拟环境中工作,因此我可以直接使用 pip install [file.whl] 安装 .whl 文件,它可以在本地正常运行。我还为 gdal_data 创建了环境变量,并将其添加到 PATH 变量中。因此,自从我安装了 geopandas 以来,我一直在尝试部署该应用程序,并且 google 给我一个 gdal-config not found 错误。我试图以我对依赖关系和部署的不了解来深入研究它。我得出的结论如下:
conda 将取代 gdal 3.0.4 并安装 gdal 2.3.3 pip 没有这个版本和那个版本的时候就出问题了。 只要我理解它 google 将使用我的 requirements.txt 将我在虚拟环境中使用的库安装到他们的云环境中,因此一旦 pip 找不到 gdal 2.3 就会抛出错误。我将传递给 requirements.txt 的 3 版本和我手动安装的版本。 此外,fiona 是构建 GIS 地块的支柱之一,与 conda 坚持要取代的 gdal 版本不兼容。
我读了很多书,也花了很多时间来处理这个错误。有很多信息主要针对 Linux,但我找不到任何可以帮助我的信息。
如果有人能帮助我,我将不胜感激。
我在安装 gdal 时遇到了同样的问题:
... main.gdal_config_error: [Errno 2] No such file or directory: 'gdal-config': 'gdal-config' ...
问题是底层 docker 容器没有 运行 这个版本的 gdal 所需的 C 库。因此,您不能为 运行 您的应用程序使用默认的应用引擎环境。
解决方案是创建一个自定义 runtime (i.e. docker container) to run your app engine instance. There is another Whosebug post,其中解释了如何准确地执行此操作。
最重要的一步是包括:
sudo apt-get install gdal-bin python-gdal