Cài đặt QGIS3 trên Mac?


30

Trình cài đặt Kyngchaos không tìm thấy python3. Tôi đã cài đặt python3 bằng HomeBrew và không được đặt tại/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Làm cách nào để báo cho trình cài đặt QGIS nhận ra python3 đã được cài đặt?

Trước đây tôi đã cài đặt GDAL bằng HomeBrew, vì vậy đã thử cài đặt lại (hoặc cài đặt phiên bản khác bất cứ nơi nào có thể) vì nghĩ nó có thể giúp ích cho tình huống này, nhưng trình cài đặt QGIS3 vẫn không thể tìm thấy python 3.

Lỗi cài đặt là một cửa sổ bật lên xuất hiện ngay khi trình cài đặt mở và thông báo "python3 QGIS yêu cầu Python 3.6."

Đối với người dùng không sử dụng máy Mac, hầu hết dường như đều dựa vào Kyngchaos để cung cấp trình cài đặt cho QGIS và anh ta vừa phát hành trình cài đặt cho v3.

Cập nhật: trả lời câu hỏi của riêng tôi dưới đây. Không sử dụng HomeBrew trừ khi bạn biết đủ để trỏ trình cài đặt QGIS / QGIS sang phiên bản phù hợp (mà tôi chắc chắn là không), nhưng sử dụng phiên bản trình cài đặt python3 được liên kết trong ReadMe.


Trình cài đặt Kyngchaos ở đâu? Tôi không thể tìm thấy chúng ở bất cứ đâu.
Alex Leith

Vì anh ấy chưa cập nhật liên kết, tôi đoán đó là kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg

Nó chưa được quảng bá trên trang web của anh ấy phải không?
Alex Leith

2
"QGIS 2.18.15-4" được lặp lại hai lần tại kyngchaos.com/software/qgis và lần đầu tiên phải là "QGIS-3.0.0-1". Tôi nghĩ đó là lỗi sao chép và dán, nói cách khác, anh ta đã sao chép liên kết cũ, v.v. và quên cập nhật. Làm thế nào tôi đoán được điều này không phải vì tôi đã từng làm nó!
Greg

4
Hôm nay (12 tháng 3 năm 2019), liên kết tại kyngchaos.com/software/qgis được cập nhật.
Greg

Câu trả lời:


35

CẬP NHẬT MỚI

Bây giờ, QGIS3 có thể được cài đặt từ osgeovòi homebrew của bạn, giúp tiết kiệm thông tin về các liên kết với python ... tức là

brew tap osgeo/osgeo4mac
brew install qgis

Sau đó nhập qgisvào thiết bị đầu cuối để khởi chạy, sau đó ghim biểu tượng menu dock để đơn giản hóa việc khởi chạy trong tương lai.

Lưu ý rằng nhật ký bảng điều khiển cài đặt cũng sẽ cung cấp một ví dụ về cách liên kết symlink qgisđến thư mục ứng dụng của bạn.

Do một số vấn đề hiện tại, có thể cần phải chạy ulimit -n 1024từ thiết bị đầu cuối như một cách giải quyết cho Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.locklỗi. Bạn cũng có thể cần chạy brew install qgisnhiều lần cho tất cả các gói để tìm thấy nhau.

CẬP NHẬT

(Phương pháp này yêu cầu cập nhật liên kết tượng trưng khi phiên bản thay đổi ... tức là không lý tưởng)

Đối với những người sử dụng homebrew, có lẽ tốt hơn là chỉ sử dụng một liên kết tượng trưng, ​​nếu không tất cả các loại tàn phá có thể xuất hiện. ví dụ: nhị phân python chính thức sẽ sửa đổi của bạn ~./bash_profileđể python3pip3không còn chỉ ra ...

Trong trường hợp của tôi, giờ đây tôi đã liên kết phiên bản homebrew (dọc theo dòng thảo luận trong câu trả lời được cung cấp bởi @Evenfire):

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

QGIS3 sau đó phàn nàn rằng các gói python nhất định bị thiếu, có thể được cài đặt với pip3, ví dụ:

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Nó cũng có thể phàn nàn về gdal, trong trường hợp của tôi, tôi chỉ đơn giản là sử dụng bia:

brew install gdal

NGUYÊN

(Phương pháp này không được khuyến nghị cho người dùng bia!)

Tôi cũng đã cài đặt python3 qua brew và đang gặp khó khăn tương tự.

Những gì có vẻ hoạt động là để cài đặt nhị phân python chính thức cài đặt /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

Từ bản dùng thử và lỗi, điều này phải được thực hiện trước khi 1 Install GDAL Complete.pkggói được cài đặt, nếu không thì cài đặt chống lại python sai và QGIS 3 sẽ khiếu nại về các gói python bị thiếu.

Những người có thời gian thử nghiệm có thể hình dung thử các liên kết tượng trưng để sử dụng trực tiếp python3 (hoặc loại khác).


Cảm ơn! Việc cài đặt python ngay trước khi "1 Cài đặt GDAL Complete.pkg" đã thực hiện thủ thuật cho tôi và khắc phục lỗi "không tìm thấy mô-đun osgeo".
Javier Fajardo

Bạn có cài đặt GDAL homebrewkhông? Tôi đã tạo symlink cho pythonnhưng trình cài đặt đang yêu cầu GDAL2.2tôi đã cài đặt homebrew.
Duccio A

Trong trường hợp của tôi, tôi đã không gdalcài đặt với homebrew. Sự hiểu biết của tôi là QGIS đặc biệt phụ thuộc vào phiên bản của KyngChaos (thật không may!). Vì vậy, có thể cần phải cài đặt gdal được cung cấp với QGIS và sau đó nó có thể hoạt động.
songololo

1
Tôi nhận thấy rằng cài đặt nhị phân cho python3.7 mới hơn không được hỗ trợ bởi trình cài đặt QGIS mới nhất! python3.6.6 là cần thiết và có thể tải xuống từ liên kết mà bạn đã cung cấp trong câu trả lời này.
Javier Fajardo

2
Đây có thể là một câu hỏi rất ngu ngốc, nhưng một khi bạn đã cài đặt qgis qua homebrew, làm thế nào để bạn chạy nó? Hình nó ra: qgis3là lệnh.
Juan Francisco Saldarriaga

28

Nếu bạn đã cài đặt Python3 với Homebrew , bạn có thể sử dụng các liên kết tượng trưng để tuân thủ các nhu cầu của trình cài đặt (như được đề xuất bởi @shongololo).

Có vẻ như, trình cài đặt cần Python3 được cài đặt tại (cảm ơn @shongololo) : /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Cài đặt python3 bằng Homebrew để theo dõi phần này)

Tìm Cellarthư mục trên máy của bạn. Của tôi là tại : /usr/local/Cellar. Sau đó tìm thư mục này: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework( 3.x.y_zphiên bản python3 bạn muốn sử dụng là gì 3.6.4_2). Đây là thư mục chúng tôi muốn trình cài đặt tìm thấy. Chúng ta cần liên kết đến thư mục này từ thư mục mà trình cài đặt đang xem bằng cách tạo Liên kết tượng trưng.

Sử dụng lnlệnh ( 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.frameworksẽ thực hiện thủ thuật. Bạn chắc chắn cần phải sudo.

Điều này đã làm việc cho tôi.

(The "Cellar" là một nơi mà tất cả "thùng" của bạn đi. Homebrew cài đặt gói vào thư mục riêng của họ (trong Cellar) và sau đó liên kết tượng trưng tập tin của họ vào / usr / / local. [Từ blog của Ryan Kulla của ])


Cảm ơn thông tin này. Tôi đã sửa lỗi với trình cài đặt "mặc định". Vì tôi không cần Python cho bất cứ điều gì khác sẽ làm việc cho tôi. Tôi nói chung thích sử dụng Homebrew cho sự nhất quán. Và Apple đã cài đặt v2 theo mặc định. Là sự đánh đổi giữa việc sử dụng hai trình cài đặt (Homebrew và một từ trang web python)? Tôi đoán rằng Homebrew sẽ giữ cho python cập nhật dễ dàng hơn. Và bạn có thể gỡ cài đặt dễ dàng. Tôi không biết làm thế nào để làm điều đó với phương pháp cài đặt khác. Tôi đã suy nghĩ để quay lại phiên bản Homebrew vì tôi biết cách quản lý nó.
Greg

@greg homebrew dễ quản lý hơn nhiều, ví dụ như gỡ cài đặt. Nó cũng giữ cho các gói phụ thuộc lẫn nhau của bạn được liên kết với nhau khá độc đáo.
songololo

1
@evenfire cảm ơn vì lời giải thích tốt đẹp. brew info pythonlà một cách thuận tiện để nhanh chóng tìm đường dẫn đến các bản cài đặt trăn ủ sẵn
songololo

4
Một head-up mà brew gần đây đã thay đổi mặc định của họ pythonthành v3, vì vậy đối với những người gần đây đã cập nhật / nâng cấp homebrew của họ, các đường dẫn trên sẽ chứa pythonvà khôngpython3
songololo

4
Làm thế nào tôi có thể kết nối tập tin khung với trăn anaconda? (Tôi không thể tìm thấy python.framework trong thư mục anaconda)
natsuapo 15/03/18

5

Tôi đã theo liên kết đi kèm với trình cài đặt QGIS tới https://www.python.org/doads/ và cài đặt python3 theo cách đó. Trình cài đặt QGIS sau đó rất vui.

Điều này dường như bị mâu thuẫn bởi các bình luận ở đây:

"Vì QGIS liên kết thư viện python, bạn phải cài đặt python.org Python 3.6. Bạn không thể thay thế cài đặt python 3. Xin lỗi, đó là như vậy."

Đăng tại http://www.kyngchaos.com/blog/2018/20180415_qgis_3_must_use_python.org_python_3 . Nếu tôi biết cách liên lạc với William Kyngesbury, tôi sẽ làm thế. Anh ấy đang thực hiện một dịch vụ tuyệt vời mặc dù.


4

Một phiên bản khác pyenvvà liên kết tượng trưng, brewchỉ sử dụng cho các phụ thuộc.

Vị trí được đề xuất để cài đặt pyenv~/.pyenv( $HOME/.pyenv), nhưng có thể là bất kỳ vị trí nào.

  1. pyenvkho lưu trữ bản sao (có thể thích ứng ~/.pyenvvới /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. thiết lập pyenvtrong ~/.bash_profile(có thể thích ứng $HOME/.pyenvvới /path/to/pyenv, lưu ý rằng dòng thứ ba phải ở dòng cuối cùng .bash_profile, ngay cả sau khi cập nhật trong tương lai)

    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. khởi động lại vỏ

    exec "$SHELL"
  4. cài đặt phụ thuộc readlinexzcách dễ dàng vớibrew

    brew install readline xz
  5. cài đặt Python 3.6.x chứa Python.framework(có thể số phiên bản thích ứng)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. luôn luôn thử lại sau khi thêm phiên bản Python mới vào pyenv

    pyenv rehash
  7. liên kết tượng trưng Python.framework

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

Bây giờ trình cài đặt QGIS 3.6.0 từ qgis.org sẽ chạy tốt cộng với macOS được chuẩn bị tốt cho nhiều phiên bản Python, chơi tốt với Python của hệ thống.


Điều này làm việc tốt hơn cho tôi so với cài đặt homebrew, điều này thực sự không hài lòng với các phụ thuộc hiện có mà tôi đã cài đặt.
MattyB

3

Một phiên bản sử dụng pyenvbrew:

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
Chỉ cần chạy 2 dòng đầu tiên là đủ và sau đóln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov

0

Tôi gặp vấn đề tương tự khi cài đặt QGIS trên mac.
Nó đã thất bại, mặc dù tôi đã cố gắng liên kết nó với những con trăn khác được cài đặt bởi anaconda, v.v ...
Cách tôi giải quyết vấn đề: tải xuống phiên bản python có liên quan trong python.org và cài đặt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.