Articles

the Right Way to Set Up Python on Your Mac

Dirk Avery

Follow

Jan 15, 2019 · 7 min czytaj

nowe wersje Python wychodzi regularnie — przynajmniej raz w miesiącu. Ręczne instalowanie nowych wersji jest bolesne i często zapominane. Z planem podręcznika, zanim się zorientujesz, jesteś na Pythonie 2.7.,16 (obecnie domyślnie Mac), a reszta świata ruszyła dalej. Tutaj użyjemy Homebrew do automatyzacji aktualizacji.

ziel Gómez

uwaga: w tej opiniowanej historii sugeruję, że „właściwym” sposobem robienia Pythona 3 na MacOS jest posiadanie najnowszej wersji i pozostawanie na bieżąco z częstą aktualizacją. Jest to dobre uniwersalne rozwiązanie., Jeśli jednak potrzebujesz niuansowej wersji lub wielu wersji Pythona, sprawdź mój artykuł na pyenv: Multiple version Python development on Mac. Jeśli konfigurujesz komputer Mac od podstaw, mój artykuł Zero to Hero: skonfiguruj komputer Mac do tworzenia oprogramowania poprowadzi cię przez cały proces.

musimy zobaczyć, od czego zaczynasz, aby poprawnie skonfigurować.

masz zainstalowany Homebrew?

ponieważ używamy Homebrew, lubbrew, aby Python był aktualny, musi być zainstalowany., Otwórz terminal i sprawdź, czy jest zainstalowany, sprawdzając wersję:

Jeśli nie widzisz czegoś takiego i zamiast tego Bash mówi -bash: brew: command not found, musisz zainstalować Homebrew.

instalacja Homebrew

najpierw zainstalujemy trochę Xcode Apple ' a, którego wymaga Homebrew, a następnie Homebrew. To prawdopodobnie poprosi o hasło i może potrwać trochę w zależności od tego,czy masz już zainstalowane komponenty Xcode.,

$ xcode-select --install

Kiedy Xcode zakończy działanie, to polecenie zainstaluje Homebrew:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Jeśli wszystko poszło dobrze, powinieneś być w stanie sprawdzić wersję Homebrew:

Krok 2. Handle Non-Homebrew Python

jest to opcjonalny krok. Jeśli potrzebujesz kilku starszych wersji Pythona, pomiń ten krok.

czy masz już zainstalowany non-Homebrew Python?

jeśli pobrałeś Pythona bezpośrednio z python.org i użyłeś instalatora, będziesz miał non-Homebrew Python w swoim systemie. Sam Pyton jest dokładnie taki sam., Różni się to w jaki sposób jest instalowany i aktualizowany.

Jeśli chcesz mieć czysty System, możesz usunąć zbędne instalacje Pythona. Ale uważaj! Na komputerze Mac, System operacyjny potrzebuje wersji Pythona utrzymywanej w /usr/bin/python. Nie możesz wiele zrobić z tą wersją — i nie próbuj, bo zepsujesz Maca.

jednak Python znajdujący się w/usr/local/bin nie jest częścią systemu macOS i może zostać usunięty.

spróbuj tego polecenia, aby zobaczyć, gdzie jesteś:

pozbądź się starych pytonów

ostrożnie!!, Niektóre aplikacje zawierają wersję Pythona i, jak wspomniano powyżej, macOS opiera się na Pythonie. Pamiętaj, aby nie usuwać tych pytonów!

w moim systemie instalowałem Pythona różne razy z instalatorów DMG na python.org. kiedy przełączyłem się na Homebrew Python, chciałem pozbyć się wszystkich dodatkowych instalacji Pythona. Tak to zrobiłem.

Usuń wszystkie dowiązania symboliczne w/usr/local/bin które wskazują na pliki związane z Pythonem:

$ sudo rm /usr/local/bin/python*
$ sudo rm /usr/local/bin/pip*

Usuń wersje Pythona w frameworku Pythona:

$ sudo rm -Rf /Library/Frameworks/Python.framework/Versions/*

Krok 3., Skonfiguruj środowisko

wszystkie poprzednie instalacje Pythona mogły zaśmiecić Twoją zmienną środowiskową PATH. Posprzątajmy to.

z Homebrew nie potrzebujesz skomplikowanej ścieżki wskazującej na Framework Pythona. Dla podstawowego użycia Pythona, to wszystko, czego potrzebujesz w pliku ~/.bash_profile:

export PATH=/usr/local/bin:/usr/local/sbin:${PATH}

dodatkowe narzędzia Pythona (np. Pylint, iSort) są czasami instalowane w innej specjalnej ścieżce., Dobrym pomysłem jest dodanie tej ścieżki:

export PATH=/usr/local/bin:/usr/local/sbin:${PATH}
export PATH=${PATH}:/Users/<your username>/Library/Python/3.7/bin

dla większości funkcji Pythona, które powinny być wszystkim, czego potrzebujesz w PATH.

Krok 4. Zainstaluj Pythona

z całym przygotowaniem, instalacja Pythona staje się bardzo łatwa:

$ brew install python3

Krok 5. Upgrade Python

teraz, gdy używasz Brew do aktualizacji całego systemu, Python również zostanie zaktualizowany!

$ brew upgrade

Jeśli chcesz się tylko upewnić, że Python jest aktualny, możesz to zrobić.,

$ brew upgrade python3

Homebrew reaguje z błędem, jeśli jesteś już aktualny:

Error: python3 3.7.2_1 already installed

Krok 6. Instalowanie popularnych pakietów Pythona

w zależności od liczby pakietów Pythona, instalowanie i aktualizowanie ich wszystkich może być uciążliwe. Homebrew może pomóc z niektórymi pakietami.

przynajmniej powinieneś mieć zainstalowany Pipenv:

$ brew install pipenv

w przypadku innych pakietów, kiedy powinieneś używać Homebrew vs. Pip vs. Pipenv w virtualenv?, Wykonaj ten podręczny przewodnik:

zainstaluj za pomocą pipenv w ramach projektu

Jeśli nie planujesz używać konkretnego pakietu Pythona w różnych projektach, prawdopodobnie najlepiej będzie zainstalować go za pomocą pipenv w virtualenv projektu.

na przykład, jeśli planujesz używać Pyppyn tylko w ramach jednego projektu (np.,,project_dir/), z poziomu virtualenv, którego używasz podczas tworzenia projektu, możesz zainstalować pakiet używając Pip lub Pipenv. Polecam Pipenv.

używając Pipenv, utwórz nowy virtualenv oparty na Pythonie 3 — macOS będzie domyślnie Pythonem 2:

$ cd project_dir/
$ pipenv --three

Uruchom (tzn. „Aktywuj”) virtualenv i zainstaluj w nim pakiet:

$ pipenv shell
$ pipenv install pyppyn

ten pakiet, Pyppyn, będzie dostępny tylko w virtualenv skojarzonym z project_dir/.,

zainstaluj za pomocą Pip poza virtualenv

Jeśli chcesz, aby pakiet był dostępny w całym systemie, ale nie chcesz, aby aktualizował się automatycznie, lub nie ma formuły Homebrew, możesz zainstalować go za pomocą Pip.

na przykład, jeśli używasz Pylint do lintowania kodu między projektami, ale nie ma na to Formuły Homebrew, zainstaluj go za pomocą Pip poza dowolnym virtualenv.,

uruchom nowy terminal, aby upewnić się, że nie jesteś w virtualenv i zainstaluj:

$ pip3 install pylint

ten pakiet, Pylint, będzie dostępny w całym systemie, w tym nowe virtualenvs utworzone na podstawie Pythona 3.

jednak będziesz odpowiedzialny za aktualizowanie go za pomocą Pip:

$ pip3 install pylint --upgrade

zainstaluj łącząc Cron i Pip

Jeśli chcesz automatycznie aktualizować pakiet dla całego systemu, ale nie ma dla niego formuły Homebrew, możesz łatwo użyćcrontab.,

na przykład, jeśli chcesz używać Pylint w swoich projektach Pythona i chcesz, aby był on automatycznie aktualizowany, użyj crontab, aby uruchomić polecenie uaktualnienia, które widzieliśmy powyżej, zgodnie z regularnym harmonogramem.

następujące polecenie będzie edytować — lub utworzyć — plik crontab użytkownika:

$ crontab -e

polecenie otworzy domyślny edytor systemu, którym jest Vim, jeśli go nie zmieniłeś.

Jeśli nie masz jeszczecrontab, zobaczysz pusty plik., Jeśli masz już crontab, zobaczysz swoje poprzednie wpisy.

Cron nie ma dostępu do Twojego profilu Bash, więc upewnimy się, że system może znaleźć polecenia, ustawiając PATH.

#!/bin/sh PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

kolejne wiersze są wpisami crontab. Każdy wpis określa polecenie i harmonogram polecenia., Aby zaktualizować Pylint, na przykład, i Homebrew, każdego dnia o 15:40 i 15:35, możesz dodać te dwa wpisy:

40 15 * * * pip3 install pylint --upgrade
35 15 * * * brew upgrade

za każdym razem, gdy te polecenia zostaną uruchomione, system z rozmysłem wyśle Ci wiadomość e-mail z poleceniami stdout. Dodaj MAILTO="" do swojego crontab przed swoimi wpisami, aby usunąć te e-maile. Więcej informacji na temat używania crontab znajdziesz w tym pomocnym poście.,

zainstaluj za pomocą Homebrew

Jeśli chcesz użyć pakietu w różnych projektach, chcesz, aby był on aktualizowany automatycznie i istnieje dla niego formuła Homebrew, użyj Homebrew!

na przykład, jeśli używasz Flake8 do wymuszania stylu w kodzie, w różnych projektach, chcesz, aby Flake8 był aktualizowany automatycznie, a ponieważ istnieje dla niego formuła Homebrew, możesz użyć Homebrew.

$ brew install flake8

Ten pakiet, Flake8, jest teraz dostępny w całym systemie.,

Niektóre pakiety Pythona i narzędzia dostępne obecnie za pośrednictwem Homebrew obejmują:

  • autopep8
  • black
  • fades
  • flake8
  • lorem
  • numpy
  • pipenv
  • pycodestyle
  • pyenv
  • pypy3
  • Pyvim
  • Tox

acebook facebook i Instagram 📷 oraz dołącz do naszych grup na Facebooku i LinkedIn💬.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*. * ,

aby dołączyć do naszej społeczności Slack team chat read przeczytaj nasze cotygodniowe tematy Faun 🗞 ️ i połącz się ze społecznością 📣 kliknij tutaj ⬇