Python 2.7 导入错误:没有名为pkg_resources的模块
更新: 我找到了问题的原因。gdal_merge.py中的第一行是Python 2.7 导入错误:没有名为pkg_resources的模块,python-2.7,anaconda,importerror,gdal,Python 2.7,Anaconda,Importerror,Gdal,更新: 我找到了问题的原因。gdal_merge.py中的第一行是 #!C:/Users/akg/AppData/Local/Continuum/Anaconda2\python.exe 前两个字符#!,所谓的shebang告诉一个名为Python启动程序py.exe的程序,运行脚本要使用哪个Python版本。就我而言,py.exe注册不正确。(py.exe附带Python3.3或更高版本,安装在C:\Windows\py.exe下。) 我用打印的>ftypetpython.File测试了它
#!C:/Users/akg/AppData/Local/Continuum/Anaconda2\python.exe
前两个字符#!,所谓的shebang告诉一个名为Python启动程序py.exe的程序,运行脚本要使用哪个Python版本。就我而言,py.exe注册不正确。(py.exe附带Python3.3或更高版本,安装在C:\Windows\py.exe下。)
我用打印的>ftypetpython.File
测试了它
Python.File=“C:\Python27\ArcGISx6410.3\Python.exe”“%1”%*
这使得ArcInfo附带的python27无论shebang后的文本是什么都可以使用。在这个特定的Python安装中没有pkg_资源,因此会显示错误消息
修复方法是下载并安装最新版本的Python3,该版本还将重新安装py.exe。现在,运行>ftype Python.File
打印
`Python.File="C:\WINDOWS\py.exe" "%L" %*`
在这之后,运行gdal_merge.py就可以正常工作了
旧的:
我已经在Windows7系统上安装了Python 2.7和Anaconda2以及gdal
我安装gdal时使用了:
>conda安装-c conda forge gdal
当我从windows命令提示符运行gdal_merge.py
(位于../Anaconda2/Scripts文件夹下)时:
> gdal_merge.py
我收到错误消息:ImportError:没有名为pkg\u resources的模块
在gdal_merge.py中有一行:
__import__('pkg_resources').run_script('GDAL==2.2.0', 'gdal_merge.py')
这会导致导入错误。Python试图导入pkg_资源,但找不到它。(我也测试过添加其他模块的导入,例如pandas,但它会导致相同的错误。)
但是pkg_资源可以从Python提示符导入:
>>> import pkg_resources
>>> pkg_resources
<module 'pkg_resources' from 'C:\Users\akg\AppData\Local\Continuum\Anaconda2\lib\site-packages\pkg_resources\__init__.pyc'>
导入pkg\u资源
>>>北大资源
那么为什么在运行gdal_merge.py时找不到包呢?有什么办法吗
我尝试将../Anaconda2/Lib/site包放在PYTHONPATH中,这很有帮助。但这并不理想:当我启动QGIS时,这将导致它使用错误的路径导入sip模块,从而导致QGIS中的导入错误。QGIS附带有自己的Python发行版。但是当PYTHONPATH指向Anaconda2的站点包时,QGIS将尝试从它而不是它自己的站点包文件夹中加载。我还读到,水蟒不必使用蟒蛇来工作