这个问题在 GIS Stack Exchange上因离题而被搁置。所以我想我会尝试使用 StackOverflow。
我使用 Python 已经有一段时间了,并且已经接受了虚拟环境是一件好事的想法,因为它们可以防止未来的软件包更新破坏您花费大量时间开发的宝贵代码。我刚刚花了好几天的时间试图让 cartopy 在 Mac 上的 Python 3.6 虚拟环境中工作,使用 fink 安装的 gdal、geos 和 proj4 库(请参阅Python 3.4 在生成一些 - 但不是全部 - 带有分段的 Cartopy 地图时崩溃故障 11)。但是,似乎即使在虚拟环境中,代码仍然依赖于那些外部库。这似乎违背了使用虚拟环境的目的,因为如果更新了外部库,即使虚拟环境中的 Python 包保持不变,它也存在破坏在虚拟环境中开发的任何 GIS 代码的风险。我遇到这种情况的唯一一次是与 GIS 相关的软件包有关(但很明显,它也可能发生在其他领域)。
是否可以为 GIS 创建一个 Python 虚拟环境,该环境最初可以使用外部库和软件构建,但随后是独立的,并且在更改或更新外部库和框架时不受影响?