- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在尝试让 gdal 库在 Windows 8 环境中使用 Python 2.7 和 Anaconda。
除了gdal,我还安装了libgdal(说实话,我不太明白两者的区别)。我现在似乎有 gdal 2.1.0 和 2.0.2 以及 libgdal 2.1.0。
但是,当我运行 Py 代码时,出现 gdal 错误:
'gdalwarp' is not recognized as an internal or external command, operable program or batch file.
我已经设置了GDAL_DATA环境变量指向
C:\Anaconda\pkgs\libgdal-2.1.0-vc9_0\Library\share\gdal
我还添加了一个路径,虽然我不完全确定它应该指向哪里:
C:\Anaconda\pkgs\libgdal-2.1.0-vc9_0\Library\bin
我对 gdal 2.0.2 进行了同样的尝试,但没有成功。 gdalwarp.exe 似乎确实存在于 libgdal 2.1.0 和 gdal 2.0.2 下。
有什么想法吗?是安装有问题还是我没有正确设置环境变量?
仅供引用,我尝试了各种安装命令,特别是:
conda install gdal
conda install -c conda-forge gdal
conda install -c anaconda gdal
附录:我找到了一个手动解决方案:在运行代码之前,我在终端中设置了 GDAL_DATA 和 PATH 变量(指向 libgdal 2.1.0)...
但是,当我运行我的 Py 代码时仍然存在一个问题:它应该使用 gdal_polygonize 将 tiff 文件转换为 shp:
cmd = 'gdal_polygonize.py %s -f "ESRI Shapefile" %s'%(dst_tif, dst_shp)
没有错误,但没有创建 shapefile(这会导致稍后在代码中出错)。关于为什么 gdal 仍然无法正常工作的任何想法?
我尝试将环境变量指向 osgeo:
set PATH=%PATH%;C:\Anaconda2\Lib\site-packages\osgeo\scripts
set GDAL_DATA=C:\Anaconda2\Lib\site-packages\osgeo\data\gdal
Gdalinfo 有效,但我的 Py 代码中使用的 gdal_polygonize 似乎无效。
最佳答案
关键是在激活环境时(可能)执行的激活脚本。并非 Conda 的每个 GDAL 构建都包含此内容。根据我的经验,最近的 Conda-Forge 构建非常好。
根据您对 py27 和 GDAL 2.1 的要求,我可以按照以下步骤让它工作:
1) 创建新环境:conda create -n gdaltest python=2.7
2) 激活:activate gdaltest
3) 安装 GDAL:conda install gdal=2.1 -c conda-forge
4) 重新激活环境:deactivate
+ activate gdaltest
这会强制执行刚刚安装的激活脚本,这会设置环境变量。
如果我启动 python 并运行 os.system("gdalinfo")
,我可以看到它被正确拾取。并运行 os.environ['GDAL_DATA']
确认路径设置正确。
您可以在以下位置自行查看(取消)激活脚本: C:\Miniconda3\envs\<env name>\etc\conda\activate.d\gdal-activate.bat
几年前,这不像今天那样有效,因此请确保您有最新的 Conda 版本 (4.3.x) 等。
这种方法的好处是,当切换环境时,你的路径也会相应地改变。 “硬编码”GDAL_DATA
如果您混合和匹配不同的 GDAL 版本(尽管通常应该可以正常工作),path 可能会导致一些兼容性问题。
关于python - 使用 conda 安装 gdal 并设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983501/
尝试使用命令 conda update conda 从终端更新 conda 时出现错误.它在说: Solving environment: failed UnsatisfiableError: The
在 conda 中,当我尝试安装软件包时,出现此错误: CorruptedEnvironmentError: The target environment has been corrupted. C
我想在一个特定的 conda 环境中安装带有 conda 的程序,并能够使用来自所有 conda 环境的相关命令。 我的目标是让学生在任何平台(尤其是 Windows)上安装 Mercurial(加上
我遇到了一个麻烦的问题。 我的 pip 和 /home/xxx/local/anacoda2/bin 的 python 都可以,但是 conda 仍然不起作用。当我在我的 ubuntu16.04 终端
我已经在普通机器上设置了 Conda 环境。它工作正常。我想在一台无法访问互联网的机器上克隆这个环境(我只能通过 SSH 进入)。 我最初的想法是压缩 Conda 留下的包缓存并将其移动到气隙机器上的
我想要两个环境:生产环境是测试环境的严格子集。我如何使用 Conda(或 micromamba)实现这一目标? 测试需要一些不需要捆绑在生产 docker 镜像中的额外实用程序。主要思想是确保生产安装
每次打开终端时都会显示以下代码行。 Traceback (most recent call last): File "", line 3, in ImportError: No module n
我尝试使用以下命令更新 conda: ~$ conda update conda 它输出以下消息: WARNING conda.base.context:use_only_tar_bz2(632):
如何仅列出 conda 中针对特定环境显式安装的软件包?有没有办法做到这一点? 最佳答案 @Sjlver 的评论链接到的页面( https://github.com/conda/conda/issue
conda 文档指定: conda clean [-h] [-y] [--dry-run] [--json] [--debug] [--verbose] [-q] [-a] [-i] [-l] [-t
当我克隆一个 Conda 环境时 conda create --name thenewenv --clone theorigenv 我注意到 theorigenv 的修订历史丢失了 conda act
我在 Conda 环境中安装了一堆软件包,包括带有 NVIDIA 工具包的 docker 容器和一些其他非 python 库。安装占用了大约 10 GB 的磁盘空间。但是当我删除 Conda 环境时,
documentation指出克隆以这种方式工作:conda create --name myclone --clone myenv但是,这将始终默认创建环境 myclone进入我几乎没有磁盘存储空间
这个问题在这里已经有了答案: Why are packages installed rather than just linked to a specific environment? (1 个回答)
How to list package versions available with conda有有用的答案,其中之一在 https://stackoverflow.com/a/47795843/2
后 conda update --all 我无法再启动 spyder。如果我在终端中运行 spyder,我会收到以下错误: /anaconda3/bin/pythonw: line 3: /anaco
对于给定的 conda包,我如何列出依赖它的包? 我最近在一个已经有 MPI (openmpi) 版本的大学集群上安装了 anaconda。 mpich2包和mpi4py与 anaconda 一起安装
创建虚拟环境时可以将路径/Users/nolan/miniconda/envs/更改为另一个路径吗?我希望它特定于我的项目目录。 (正如我们可以使用 virtualenv 所做的那样) $conda
激活 conda 环境时,conda 会记住之前激活的环境。例如,如果没有激活任何环境,则调用 conda activate foo 然后调用 conda deactivate 将导致没有任何环境处于
我使用 PyCharm 创建了一个带有 conda 解释器的项目。 Pycharm自动为其创建conda环境。不久之后,我意识到我想要该项目的另一个地点。因此我删除了项目文件夹。然后我意识到我要删除
我是一名优秀的程序员,十分优秀!