Встановлення QGIS3 на Mac?


30

Інсталятор Kyngchaos не знаходить python3. Я встановив python3 за допомогою HomeBrew і не знаходиться в/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Як мені сказати інсталятору QGIS розпізнати, що встановлено python3?

Раніше я встановлював GDAL за допомогою HomeBrew, тому спробував перевстановити (або встановити іншу версію, де б це не закінчилося), думаючи, що це може допомогти в ситуації, але інсталятор QGIS3 все ще не може знайти python 3.

Помилка установки - це спливаюче вікно, яке з’являється, як тільки програма встановлення відкрита, і каже, що "python3 QGIS вимагає Python 3.6".

Для користувачів, які не користуються Mac, більшість, здається, покладаються на Kyngchaos, щоб забезпечити інсталятор для QGIS, і він щойно випустив інсталятор для v3.

Оновлення: відповів на мої власні запитання нижче. Не використовуйте HomeBrew, якщо ви не знаєте достатньо, щоб вказати інсталятор QGIS / QGIS на потрібну версію (чого я, звичайно, ні), але використовуйте версію встановлення python3, пов'язану з ReadMe.


Де встановлюються програми Kyngchaos? Я не можу їх знайти ніде.
Алекс Лейт

Оскільки він не оновлював посилання, я здогадався, що це kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Грег

Це ще не рекламується на його веб-сторінці, чи не так?
Алекс Лейт

2
"QGIS 2.18.15-4" повторюється двічі на kyngchaos.com/software/qgis, і перший повинен бути "QGIS-3.0.0-1". Я думаю, що це помилка копіювання та вставки, іншими словами він скопіював старе посилання тощо і забув оновити. Як би я здогадався про це - не тому, що я це коли-небудь робив!
Грег

4
Сьогодні (12 березня 2019 року) посилання на kyngchaos.com/software/qgis оновлено.
Грег

Відповіді:


35

НОВА ОНОВЛЕННЯ

QGIS3 тепер можна встановити з доменного osgeoдотику, який економить обмінювання за допомогою пітонних символьних посилань ... тобто

brew tap osgeo/osgeo4mac
brew install qgis

Потім введіть qgis термінал для запуску, а потім закріпіть значок меню дока, щоб спростити запуск у майбутньому.

Зауважте, що журнали консолі інсталяції також надаватимуть приклад способу зв'язку qgis на каталог додатків.

Через деякі поточні проблеми, можливо, буде потрібно запустити ulimit -n 1024з терміналу як вирішення дляToo many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lock помилки. Вам також може знадобитися запускати brew install qgisне один раз, щоб усі пакунки знаходили один одного.

СТАРИЙ ОНОВЛЕННЯ

(Цей метод вимагає оновлення символьних посилань, коли змінюються версії ... тобто не ідеально)

Тим, хто вживає домашню капусту, напевно, краще просто скористатися символьним посиланням, інакше можуть виникнути всі види хаосу. наприклад , офіційний пітон двійковий змінять ваші ~./bash_profileтак , що python3і pip3більше немає сенсу заварювати ...

У моєму випадку я зараз посилався на домашню версію (відповідно до дискусії у відповіді, наданій @Evenfire):

sudo ln -s /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework /Library/Frameworks/Python.framework

Потім QGIS3 скаржився на відсутність певних пакетів python, які можна встановити за допомогою pip3, наприклад

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Це також може скаржитися на те gdal, що в моєму випадку я просто використовував заварку:

brew install gdal

ОРИГІНАЛЬНИЙ

(Цей спосіб не рекомендується користувачам пивоваріння!)

У мене також встановлено python3 через заварку, і я зіткнувся з тією ж складністю.

Що, здається, працює, це встановити офіційні бітонні файли python, на які встановлюється/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 .

З спроб та помилок, це потрібно зробити до встановлення 1 Install GDAL Complete.pkgпакета, який інакше встановиться проти неправильного python, і QGIS 3 поскаржиться на відсутні пакети python.

Ті, хто встигнути експериментувати, могли б спробувати посилання, щоб обійтись безпосередньо за допомогою пивного (або іншого) python3.


Спасибі! Установка python безпосередньо перед тим, як "1 Install GDAL Complete.pkg" зробила для мене трюк і вирішила помилку "модуль osgeo не знайдений".
Хав'єр Фахардо

У вас також встановлений GDAL homebrew? Я створив symlink для, pythonале інсталятор запитує, для GDAL2.2чого я встановив homebrew.
Duccio A

У моєму випадку я не gdalвстановив домашню мову. Я розумію, що QGIS спеціально залежить від версії KyngChaos (на жаль!). Тому може знадобитися встановити gdal, наданий QGIS, і тоді він може працювати.
сонгололо

1
Я помітив, що встановлення бінарних файлів для новішого python3.7 не підтримується новітньою програмою QGIS! python3.6.6 необхідний, і його можна завантажити за посиланням, яке ви вказали у цій відповіді.
Хав'єр Фахардо

2
Це може бути дуже дурним питанням, але як тільки ви встановите qgis через homebrew, як це запустити? Зрозумів: qgis3команда.
Хуан Франсіско Салдарріага

28

Якщо ви встановили Python3 з Homebrew , ви можете використовувати посилання, щоб відповідати потребам інсталятора (як це запропонував @shongololo).

Схоже, установник потребує Python3 встановлений на (спасибі @shongololo) /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Встановіть python3 за допомогою Homebrew, щоб дотримуватися цієї частини)

Знайдіть Cellarкаталог на своїй машині. Шахта по адресою: /usr/local/Cellar. Потім знайдіть цей каталог: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(де 3.x.y_zверсія python3, яку ви хочете використовувати, для мене це є 3.6.4_2). Це каталог, в якому ми хочемо знайти інсталятора. Нам потрібно посилання на цей каталог із каталогу, на який дивиться інсталятор, роблячи символічну посилання.

Використання lnкоманди ( ln -s TARGET_FILE_TO_LINK_TO LINK_NAME): ln -s /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework /Library/Frameworks/Python.frameworkзробить трюк. Вам, звичайно, потрібно sudo.

Це працювало на мене.

("Підвал" - це місце, куди йдуть всі ваші "бочки". Homebrew встановлює пакети у свою власну директорію (у льоху), а потім посилає свої файли на / usr / local /. [З блогу Райана Кулли ])


Дякую за цю інформацію Я виправив вже за допомогою програми установки за замовчуванням. Оскільки мені Python не потрібен ні для чого іншого, що буде працювати для мене. Я взагалі вважаю за краще використовувати домашню капусту. А в Apple встановлена ​​версія v2 за замовчуванням. Чи були компроміси між використанням двох інсталяторів (Homebrew та одного з сайту python)? Я здогадуюсь, що Homebrew легше буде оновлювати python. І ви можете видалити їх легко. Я поняття не маю, як це зробити з іншим методом установки. Мені подобається повернутися до версії Homebrew, оскільки я знаю, як керувати нею.
Грег

@greg homebrew легше та набагато простіше в управлінні, наприклад, видалення. Він також зберігає ваші різні взаємозалежності пакета досить добре взаємопов'язані.
сонгололо

1
@evenfire дякую за приємне пояснення. brew info python- це зручний спосіб швидкого пошуку шляхів до існуючих встановлених пітонів
songololo

4
Нещодавно хед-ап, який заварив, змінив стандартний стандарт pythonна v3, тому для тих, хто нещодавно оновив / оновив свою домашню мову, вищевказані шляхи міститимуть, pythonа неpython3
songololo

4
Як я можу з'єднати рамковий файл з anaconda python? (Я не можу знайти python.framework в анакондах)
natsuapo

5

Я перейшов за посиланням, яке надійшло з інсталятором QGIS на https://www.python.org/downloads/ і встановив python3 таким чином. Потім інсталятор QGIS був задоволений.

Це, мабуть, суперечить коментарям тут:

"Оскільки QGIS пов'язує бібліотеку python, ви повинні встановити python.org Python 3.6. Ви не можете замінити іншу установку python 3. Вибачте, так воно і є."

Опубліковано на http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Якби я знав, як зв’язатися з Вільямом Кенджесбері, я би. Хоча він виконує чудову послугу.


4

Інша версія pyenvі посилання, що використовується brewлише для залежностей.

Рекомендоване місце для встановлення pyenv- ~/.pyenv( $HOME/.pyenv), але це може бути будь-яке місце.

  1. pyenvсховище клонів (можливо, адаптується ~/.pyenvдо /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. Установка pyenvв ~/.bash_profile(можливо адаптуватися $HOME/.pyenvдо /path/to/pyenv, має бути відомо, що третя лінія повинна залишатися остаточної з .bash_profile, навіть після поновлення в майбутньому)

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
  3. перезапустити оболонку

    exec "$SHELL"
  4. встановити залежності readlineта xzпростий спосіб за допомогоюbrew

    brew install readline xz
  5. встановити Python 3.6.x, що містить Python.framework(можливо, адаптувати номер версії)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. завжди переробляти після додавання нової версії Python в pyenv

    pyenv rehash
  7. симпосилання Python.framework

    sudo ln -s $(pyenv root)/versions/3.6.8/Python.framework /Library/Frameworks/Python.framework

Тепер інсталятор QGIS 3.6.0 з qgis.org повинен працювати добре, а macOS добре підготовлений до декількох версій Python, добре граючи з Python системи.


Це працювало для мене краще, ніж встановити домашній бренд, який був дуже незадоволений існуючими залежностями, які я встановив.
MattyB

3

Версія з використанням pyenvта brew:

brew install pyenv
env PYTHON_CONFIGURE_OPTS="--enable-framework CC=clang" pyenv install 3.6.5
sudo ln -s /Users/$USER/.pyenv/versions/3.6.5/Python.framework/Versions/3.6 /Library/Frameworks/Python.framework/Versions/3.6
sudo cp -R /Users/$USER/.pyenv/versions/3.6.5/Python.framework/Versions/3.6 /Library/Frameworks/Python.framework/Versions/3.6
sudo cp -r /Users/$USER/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload/ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload
sudo cp /Users/$USER/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload/_struct.cpython-36m-darwin.so /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_struct.cpython-36m-darwin.so
# 

2
достатньо просто запустити спочатку 2 рядки, а потімln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Алекс Марков

0

Я зіткнувся з тією ж проблемою під час встановлення QGIS на mac.
Це не вдалося, хоча я намагався перев'язати його з іншими python, встановленими анакондами і т
. Д. Спосіб вирішення проблеми: завантажити відповідну версію python на python.org та встановити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.