Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 导入错误:没有名为pkg_resources的模块_Python 2.7_Anaconda_Importerror_Gdal - Fatal编程技术网

Python 2.7 导入错误:没有名为pkg_resources的模块

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测试了它

更新:

我找到了问题的原因。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
测试了它

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将尝试从它而不是它自己的站点包文件夹中加载。我还读到,水蟒不必使用蟒蛇来工作