установка GeoDjango — пакет PostGIS поврежден

#ubuntu #postgis #geodjango #apt #deb

#ubuntu #postgis #geodjango #apt #deb

Вопрос:

При попытке установить GeoDjango в соответствии с документами я сталкиваюсь с некоторыми проблемами зависимости пакетов. Я использую fabric, хотя сомневаюсь, что это актуально. Я понимаю fabtools.require.deb.install('binutils libproj-dev gdal-bin python-gdal libgeoip1') , что после успешного завершения я смогу установить PostGIS, попытку и вывод ниже:

 [localhost] sudo: DEBIAN_FRONTEND=noninteractive apt-get install --quiet --assume-yes postgresql-9.3-postgis-2.1
[localhost] out: Reading package lists...
[localhost] out: Building dependency tree...
[localhost] out: Reading state information...
[localhost] out: Some packages could not be installed. This may mean that you have
[localhost] out: requested an impossible situation or if you are using the unstable
[localhost] out: distribution that some required packages have not yet been created
[localhost] out: or been moved out of Incoming.
[localhost] out: The following information may help to resolve the situation:
[localhost] out: 
[localhost] out: The following packages have unmet dependencies:
[localhost] out:  postgresql-9.3-postgis-2.1 : Depends: libgdal1 (>= 1.9.0) but it is not going to be installed
[localhost] out:                               Recommends: postgis but it is not going to be installed
[localhost] out: E: Unable to correct problems, you have held broken packages.
  

Это отклонение от самих документов, но использование postgresql-9.3-postgis , как указано в документах, приводит к этой ошибке:

 [localhost] sudo: DEBIAN_FRONTEND=noninteractive apt-get install --quiet --assume-yes postgresql-9.3-postgis
[localhost] out: Reading package lists...
[localhost] out: Building dependency tree...
[localhost] out: Reading state information...
[localhost] out: Package postgresql-9.3-postgis is not available, but is referred to by another package.
[localhost] out: This may mean that the package is missing, has been obsoleted, or
[localhost] out: is only available from another source
[localhost] out: 
[localhost] out: E: Package 'postgresql-9.3-postgis' has no installation candidate
  

что кажется еще менее полезным.

вот небольшое расследование, которое я провел:

 $ dpkg --get-selections | grep hold
$ dpkg --get-selections | grep gdal
gdal-bin                    install
libgdal1h                   install
python-gdal                 install
$ apt show libgdal1h
...
Replaces: libgdal1 (<= 1.10.0-0~), libgdal1-1.6.0 (<= 1.10.0-0~)
...
Breaks: libgdal1 (<= 1.10.0-0~), libgdal1-1.6.0 (<= 1.10.0-0~)
...
  

Похоже, проблема в libgdal1h … или в том, что пакет postgresql-9.3-postgis зависит от устаревшего пакета, который сам заменен на libgdal1h, который, я полагаю, был включен в один из первых установленных пакетов (например, gdal-bin). Но я не уверен, куда идти дальше…

Комментарии:

1. какую версию Ubuntu вы используете? lsb_release -a

2. вы также можете попробовать добавить ubuntugis ppa: apt-add-repository -y ppa:ubuntugis/ppa . aptitude должен позаботиться о зависимостях, так что, возможно, вы сможете выполнить свою fabtools.require... линию?

3. Спасибо за помощь, смотрите здесь: askubuntu.com/questions/490073 /…

Ответ №1:

Я решил проблему в Ubuntu только этим

 apt-get install postgresql-9.1-postgis-2.1 postgis-doc
  

Я думаю, вы можете попробовать сделать

 apt-get install postgresql-9.3-postgis-2.1 postgis-doc
  

Если вы используете postgresql-9.3.

Комментарии:

1. или для debian попробуйте с этим: www2.qgis.org/en/site/forusers/alldownloads.html#ubuntu