Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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 3.x Gdal-GeoDjango窗口_Python 3.x_Gdal_Geodjango - Fatal编程技术网

Python 3.x Gdal-GeoDjango窗口

Python 3.x Gdal-GeoDjango窗口,python-3.x,gdal,geodjango,Python 3.x,Gdal,Geodjango,我使用windows10(x64)、python3.6.4、Django 2.0.5 我已经在我的机器上安装了OSGEO4W64(C:\OSGEO4W64) 我设置环境变量: GDAL\u LIBRARY\u PATH=C:\OSGeo4W64\share\proj GDAL_DATA=C:\OSGeo4W64\share\GDAL OSGEO4W_ROOT=C:\OSGeo4W64 PROJ_LIB=C:\OSGeo4W64\share\PROJ 此外,我的djanjo项目设置中还添加了: i

我使用windows10(x64)、python3.6.4、Django 2.0.5

我已经在我的机器上安装了OSGEO4W64(C:\OSGEO4W64)

我设置环境变量:

GDAL\u LIBRARY\u PATH=C:\OSGeo4W64\share\proj

GDAL_DATA=C:\OSGeo4W64\share\GDAL

OSGEO4W_ROOT=C:\OSGeo4W64

PROJ_LIB=C:\OSGeo4W64\share\PROJ

此外,我的djanjo项目设置中还添加了:

if os.name == 'nt':
    import platform
    OSGEO4W = r"C:\OSGeo4W"
    if '64' in platform.architecture()[0]:
        OSGEO4W += "64"
    assert os.path.isdir(OSGEO4W), "Directory does not exist: " + OSGEO4W
    os.environ['OSGEO4W_ROOT'] = OSGEO4W
    os.environ['GDAL_DATA'] = OSGEO4W + r"\share\gdal"
    os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj"
    os.environ['PATH'] = OSGEO4W + r"\bin;" + os.environ['PATH']
    GDAL_LIBRARY_PATH = r'C:\OSGeo4W64\bin\gdal202'
我知道它看起来很难看,但它帮助我避免了其他问题(例如,对于不明图书馆)。 现在我无法纠正这个错误:

    Traceback (most recent call last):
  File "C:\oktmo_Django\oktmo_project/manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\core\management\__init__.py", line 347, in execute
    django.setup()
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\apps\registry.py", line 89, in populate
    app_config = AppConfig.create(entry)
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "C:\Python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\contrib\gis\gdal\datasource.py", line 39, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\contrib\gis\gdal\driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\contrib\gis\gdal\prototypes\ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal
  File "C:\oktmo_Django\oktmo_project\venv\lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 43, in <module>
    lgdal = CDLL(lib_path)
  File "C:\Python\lib\ctypes\__init__.py", line 416, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 127] The specified procedure could not be found
回溯(最近一次呼叫最后一次):
文件“C:\oktmo\u Django\oktmo\u project/manage.py”,第13行,在
从命令行(sys.argv)执行命令
文件“C:\oktmo\U Django\oktmo\U项目\venv\lib\site packages\Django\core\management\uuuuuuuuuuuu init\uuuuuuuuuuu.py”,第371行,从命令行执行
utility.execute()
文件“C:\oktmo\u Django\oktmo\u项目\venv\lib\site packages\Django\core\management\uuuuuuuuu init\uuuuuuuu.py”,第347行,执行
django.setup()
文件“C:\oktmo\u Django\oktmo\u项目\venv\lib\site packages\Django\\uuuuuu init\uuuuu.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“C:\oktmo\u Django\oktmo\u项目\venv\lib\site packages\Django\apps\registry.py”,第89行,在“填充”中
app_config=AppConfig.create(条目)
文件“C:\oktmo\u Django\oktmo\u项目\venv\lib\site packages\Django\apps\config.py”,第90行,在创建中
模块=导入模块(条目)
文件“C:\Python\lib\importlib\\uuuuu init\uuuuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第994行,在_gcd_导入中
文件“”,第971行,在_find_和_load中
文件“”,第955行,在“查找”和“加载”中解锁
文件“”,第665行,在“加载”中
exec_模块中第678行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“C:\oktmo\U Django\oktmo\U project\venv\lib\site packages\Django\contrib\gis\gdal\\uuuuuuuuu init\uuuuuuuuuuu.py”,第28行
从django.contrib.gis.gdal.datasource导入数据源
文件“C:\oktmo\u Django\oktmo\u project\venv\lib\site packages\Django\contrib\gis\gdal\datasource.py”,第39行,在
从django.contrib.gis.gdal.driver导入驱动程序
文件“C:\oktmo\u Django\oktmo\u project\venv\lib\site packages\Django\contrib\gis\gdal\driver.py”,第5行,在
从django.contrib.gis.gdal.prototype将ds作为vcapi导入,光栅作为rcapi导入
文件“C:\oktmo\U Django\oktmo\U project\venv\lib\site packages\Django\contrib\gis\gdal\prototype\ds.py”,第9行,在
从django.contrib.gis.gdal.libgdal导入gdal_版本,lgdal
文件“C:\oktmo\U Django\oktmo\U project\venv\lib\site packages\Django\contrib\gis\gdal\libgdal.py”,第43行,在
lgdal=CDLL(库路径)
文件“C:\Python\lib\ctypes\\ uuuu init\ uuuu.py”,第416行,在\uuu init中__
self.\u handle=\u dlopen(self.\u名称,模式)
OSError:[WinError 127]找不到指定的过程

我找到的最简单的方法是:

  • 从whl安装Gdal,例如:,如果此链接不可用,则您需要的whl并不难找到
  • 添加到
    settings.py
    此代码:
       OSGEO_VENV = Path(__file__).parents[1] / 'venv/Lib/site-packages/osgeo/'
       GEOS_LIBRARY_PATH = str(OSGEO_VENV / 'geos_c.dll')
       GDAL_LIBRARY_PATH = str(OSGEO_VENV / 'gdal204.dll')
       os.environ["PATH"] += os.pathsep + str(OSGEO_VENV)```
    

  • 尝试将gdal库路径添加到path环境变量这是一个安装问题。在您的机器上查找更多的
    gdal
    s。重新安装osgeo4w。尝试使用
    where
    命令查找
    libgdal.dll
    。在另一台电脑上也尝试一下。尝试删除GDAL_库_PATH=…`line。同样的问题,你解决过吗?我得到
    OSError:[WinError 126]找不到指定的模块
    。有什么想法吗?