没有名为osgeo.ogr的模块

时间:2015-04-24 16:33:42

标签: python virtualenv gdal

我需要将osgeo.ogr模块导入virtualenv python程序。

Global python有这个模块:

user@ubuntu:~/$ python
Python 2.7.8 (default, Oct 20 2014, 15:05:19)
[GCC 4.9.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import osgeo
>>>

但是进入virtualenv(没有--no-site-packages):

user@ubuntu:~$ temp/bin/python
Python 2.7.8 (default, Oct 20 2014, 15:05:19) 
[GCC 4.9.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import osgeo
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named osgeo

这种行为的原因是什么?

4 个答案:

答案 0 :(得分:3)

能够解决这个问题

pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==`gdal-config --version`    

答案 1 :(得分:2)

问题以这种方式解决:

(VIRTUAL_ENV)user@ubuntu:~$ pip install --no-install GDAL==1.11.2

1.11.2因为我的GDAL版本是1.11.2:

(VIRTUAL_ENV)user@ubuntu:~$ gdal-config --version
1.11.2

下:

(VIRTUAL_ENV)user@ubuntu:~$ cd ~/.virtualenvs/VIRTUAL_ENV/build/GDAL/
(VIRTUAL_ENV)user@ubuntu:~/.virtualenvs/VIRTUAL_ENV/build/GDAL$ python setup.py build_ext --include-dirs=/usr/include/gdal/
(VIRTUAL_ENV)user@ubuntu:~/.virtualenvs/bamap/build/GDAL$ pip install --no-download GDAL

--include-dirs=/usr/include/gdal/对我来说是对的。 GDAL在我的系统中安装了Quantum GIS。如果您将手动构建GDAL,则路径可能是其他路径。完整版:

python setup.py build_ext --gdal-config=/YOUR_PATH/bin/gdal-config --library-dirs=/YOUR_PATH/gdal/VERSION_GDAL/lib --libraries=gdal --include-dirs=/YOUR_PATH/gdal/VERSION_GDAL/include

详细信息可能会找到documentation

答案 2 :(得分:0)

我的第一个猜测是,当您安装osgeo时,您无权安装为网站包。它在您的系统中显示的目录是什么?

如果您无权安装站点包,则将安装用户/本地包。

答案 3 :(得分:0)

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update

如果遇到问题“无法导入名称'_gi'”: visit this link to fix

sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install libgdal-dev
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip install GDAL==$(gdal-config --version) --global-option=build_ext --global- 
option="-I/usr/include/gdal"