【问题标题】:Cannot run a .py which requires a gdal module in anaconda prompt nor in command prompt无法在 anaconda 提示符或命令提示符中运行需要 gdal 模块的 .py
【发布时间】:2021-11-18 12:32:08
【问题描述】:

我在anaconda中创建了一个新环境,然后安装了gdal模块

conda install -c conda-forge gdal

我可以通过检查看到它

conda list

然后我导航到包含 .py 文件的文件夹并输入 [文件名].py。提示符返​​回:

  File "C:\Users\matdy\Documents\00_MSc\00_Master thesis\00_project\python\HDFtoGeoTiff.py", line 8, in <module>
    import gdal, os
ModuleNotFoundError: No module named 'gdal'. 

Python -V 返回 Python 3.9.7 gdal版本是3.3.2。

我创建了新环境,因为无法在我的根 anaconda 环境中安装软件包不起作用。它继续解决环境问题。 我也尝试用 spyder 执行文件,结果相同 我还尝试通过命令提示符运行 .py 文件(使用 python 3.6.8)。之前我手动下载了GDAL包文件:GDAL-3.0.4-cp36-cp36m-win_amd64.whl 但是报错是一样的:

ModuleNotFoundError: No module named 'gdal'

为什么anaconda和python 3.6都看不到安装的模块?有什么方法可以运行这个 .py 脚本吗?

【问题讨论】:

  • 在运行.py 脚​​本之前,您是否使用conda activate 激活了conda 环境?
  • 是的,用conda activate pygdal激活它
  • 我经历过这一切,这非常困难。搜索如何安装 Fiona,你会发现如何安装 Gdal 的提示。此链接也可能有所帮助:lfd.uci.edu/~gohlke/pythonlibs
  • 试过from osgeo import gdal ?
  • 终于设法在IDLE python 3.6中运行.py文件

标签: python anaconda spyder gdal


【解决方案1】:

可能由于.py文件的默认程序而发生错误 ,寻找How to fix path for gdal .py scripts in Anaconda-Windows?here。那里有一些解决方案,例如this one。另一种方法是显式调用,而不是调用[file name].py(可以调用.py 文件的默认程序),调用specific/python/install/[file name].py,例如:

import os
from pathlib import Path
import sys

def find_gdal_py(python_prog):
    # find the python executer calling this function
    # and search for the gdal program 
    python_prog = os.path.normpath(os.path.join(str(Path(sys.executable).parent), 
                                'Scripts', 
                                f'{python_prog}.py'))
    if not os.path.isfile(python_prog):
        print(f'*****Could not find {python_prog}.py')
        return False
    else:
        return python_prog

if __name__ == '__main__':
    python_prog = 'ogrmerge'
    gdal_py = find_gdal_py(python_prog)
    print(gdal_py)

应该打印出类似C:\Users\your-user\AppData\Local\Continuum\anaconda3\envs\your-env\Scripts\ogrmerge.py 的内容。

【讨论】:

    猜你喜欢
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2018-12-08
    • 1970-01-01
    相关资源
    最近更新 更多