环境如下:
**Windows 7**
PATH=C:\Python27\;C:\Python27\Scripts;C:\Python27\Lib\site-packages\MySQLdb;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\OSGeo4W\bin
**python 2.7**
'C:\\Python27\\lib\\site-packages\\bitstring-2.1.1-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\virtualenvwrapper-2.11.1-py2.7.egg', 'c:\\cygwin\\home\\username\\__prjs\\flt\\requirements\\src\\djangoembed', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\PIL', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info'
我能找到的几个aswers让我回顾了我的GDAL安装和路径,但它是正确的如下:
set OSGEO4W_ROOT=C:\OSGeo4W
set GEOS_LIBRARY_PATH=%OSGEO4W_ROOT%\bin
set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal
OH!当我在python中并尝试调用admin.py
时,还有别的东西>>> import django.contrib.gis
>>> import admin
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named admin
我正在为非盈利项目工作,很少有帮助者,但还有很多工作要做,所以请大家知道这个问题会非常适应。
根据Rob Wouters的回答,我收到了根本原因错误..
>>> import django.contrib.gis.admin
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\django\contrib\gis\admin\__init__.py", line 2, in <module>
from django.contrib.admin import autodiscover, site, AdminSite, ModelAdmin, StackedInline, TabularInline, HORIZONTAL, VERTICAL
File "C:\Python27\lib\site-packages\django\contrib\admin\__init__.py", line 3, in <module>
from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
File "C:\Python27\lib\site-packages\django\contrib\admin\helpers.py", line 3, in <module>
from django.contrib.admin.util import (flatten_fieldsets, lookup_field,
File "C:\Python27\lib\site-packages\django\contrib\admin\util.py", line 1, in <module>
from django.db import models
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 14, in <module>
if not settings.DATABASES:
File "C:\Python27\lib\site-packages\django\utils\functional.py", line 276, in __getattr__
self._setup()
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 40, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
我将阅读关于Django_settings的任何内容,我会发布它的工作原理。
Virtual Enviroment路径如下:
(ve) C:\cygwin\home\holanda\__prjs\ourfield>env
!::=::\
!C:=C:\cygwin\home\holanda\__prjs\ourfield
.
.
.
DJANGO_SETTINGS_MODULE=ourfield.settings
.
.
.
GDAL_DATA=C:\OSGeo4W\share\gdal
GEOS_LIBRARY_PATH=C:\OSGeo4W\bin
GEOTIFF_CSV=C:\OSGeo4W\share\epsg_csv
.
.
.
HOME=/cygdrive/c/Users/holanda
HOMEDRIVE=C:
HOMEPATH=\Users\holanda
JAVA_HOME=C:\OSGeo4W\
.
.
.
OSGEO4W_ROOT=C:\OSGeo4W
PATH=/home/holanda/__prjs/ourfield/ve/Scripts:/cygdrive/c/Python27:/cygdrive/c/Python27/Scripts:/usr/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Common Files/Acronis/SnapAPI:/cygdrive/c/_tech/_mysql/bin:/cygdrive/c/masters/Console2/bin/release:/cygdrive/c/Program Files/Java/jdk1.7.0/bin/bin:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/_tech/utils:/cygdrive/c/MinGW/bin:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/c/Program Files (x86)/Windows Live/Shared:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/Python27/Lib/site-packages/MySQLdb:/cygdrive/c/Program Files/MySQL/MySQL Server 5.5/bin:/cygdrive/c/OSGeo4W/bin:/cygdrive/c/Users/holanda/AppData/Roaming/Python/Scripts:/cygdrive/c/OSGeo4W/bin:/cygdrive/c/OSGeo4W/apps/msys/bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.py;.pyw
.
.
.
PROJECTS_ROOT=C:\cygwin\home\holanda\__prjs
PROJECT_NAME=ourfield
PROJECT_ROOT=C:\cygwin\home\holanda\__prjs\ourfield
PROJ_LIB=C:\OSGeo4W\share\proj
PROMPT=(ve) $P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
PYTHONPATH=C:\cygwin\home\holanda\__prjs;C:\cygwin\home\holanda\__prjs\ourfield;C:\cygwin\home\holanda\__prjs\ourfield\parts;C:\cygwin\home\holanda\__prjs\ourfield\apps;C:\cygwin\home\holanda\__prjs\ourfield\ve\Lib;C:\cygwin\home\holanda\__prjs\ourfield\ve\Lib\site-packages;C:\Python27;C:\Python27\Lib;C:\Python27\Lib\site-packages;C:\OSGeo4W\bin
PYTHONSTARTUP=~/.pythonrc
PYTHON_ROOT=C:\Python27
QTJAVA=C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
QT_PLUGIN_PATH=C:\OSGeo4W\apps\Qt4\plugins
QT_RASTER_CLIP_LIMIT=4096
.
.
.
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
VIRTUAL_ENV=C:\cygwin\home\holanda\__prjs\ourfield\ve
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
WINDIR=C:\Windows
.
.
.
TERM=cygwin
答案 0 :(得分:3)
您需要import django.contrib.gis.admin
,而不仅仅是admin
。
答案 1 :(得分:3)
我迟到了4年但升级到osx El capitan和Homebrew后出现了这个错误。我发现解决方案here OSMGeoAdmin
依赖于gdal,因此我必须在升级后运行
brew install gdal
。
希望将来有可能帮助其他人
答案 2 :(得分:2)
您需要从项目目录运行python manage.py shell
,这会在shell中加载各种django特定变量,并阻止ImportError
。
编辑:
从批处理文件运行它并从shell运行它是不一样的,这就是你得到这些错误的原因。
解决问题的最简单方法是创建一个custom management command,这将避免所有这些问题。