中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mac環境下如何設置默認Python版本

發布時間:2022-09-29 10:06:42 來源:億速云 閱讀:277 作者:iii 欄目:編程語言

本篇內容主要講解“Mac環境下如何設置默認Python版本”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Mac環境下如何設置默認Python版本”吧!

不該做什么

我第一個關于讓python3成為系統默認的python版本的想法是,刪除舊版本的python然后將新版本的python添加進去:

# 我認為這個方法會起作用 # 首先, 我先找到舊版本python的文件 $ which python /usr/bin/python # 然后, 我將它移動到一個其他的位置 $ sudo mv /usr/bin/python /usr/bin/pythzuihouon2 # 最后, 我將新版本python的文件移動到之前的路徑 $ sudo mv $PATHTOBINARY/python3 /usr/bin/python

該方法雖然使用了Python主要版本之間通常執行的操作 /usr/bin/ ,但是我很快就發現了這是一個錯誤的方法:

$ sudo mv /usr/bin/python /usr/bin/python2 mv: rename /usr/bin/python to /usr/bin/python2: Operation not permitted

值得慶幸的是, macOS保護了我,使我不至于破壞一些我不完全理解的東西。進一步的研究證明,這正是我們不應該做的事情。

我們可以做什么(也不應該做什么)

現在我們知道什么是不應該做的,那么讓我們看看我們可以做些什么。當我們考慮macOS上應用程序的常見安裝模式時,有幾個選項。

使用Python3作為macOS的默認安裝模式

Python的網站有一個macOS Python3安裝程序我們可以下載和使用。如果使用包安裝,則/usr/local/bin/中將提供可用的python3

別名是必須的,因為存儲在/usr/bin/中的Python二進制文件無法更改。別名的優點是它可以具體指定我們的命令行所使用的shell。由于我默認使用zsh,所以我將以下內容放入.zshrc文件中:

$ echo "alias python=/usr/local/bin/python3.7" >> ~/.zshrc

如果您使用的是默認的bash shell,您可以將此相同的文本追加到您的.bashrc

$ echo "alias python=/usr/local/bin/python3.7" >> ~/.bashrc

該策略有效,但是對于Python將來的更新并不是理想的選擇。這意味著我們必須記住要檢查網站并下載新文件,因為Python不包含用于更新的命令行方式。

用Homebrew管理Python 3

Homebrew 項目提供了許多人所依賴的macOS的免費開源軟件包管理器。它提供了Apple用戶類似于apt-get *或yum *的功能。如果您是Homebrew用戶,則可能已經安裝了Python。要快速檢查,請運行:

$ brew list | grep python

如果Python在命令下顯示,則表明已安裝。讓我們看一下它是什么版本:

$ brew info python python: stable 3.7.3 (bottled), HEAD Interpreted, interactive, object-oriented programming language https://www.python.org/ /usr/local/Cellar/python/3.7.2_1 (8,437 files, 118MB) * ## 不包含其他輸出 ##

好的,太好了! Homebrew維護人員已將默認的Python bottle更新為指向最新版本。由于Homebrew維護者在更新發行版方面比我們大多數人更可靠,因此我們可以通過以下命令使用Homebrew的Python 3版本:

$ brew update && brew upgrade python

現在,我們要將別名(從上面)指向Homebrew管理的Python副本:

# 如果你添加了上面的別名,請使用文本編輯器將行更新為以下內容 alias python=/usr/local/bin/python3

確保上面的路徑指向我們環境中Homebrew安裝python的位置,我們可以運行brew info python查找路徑信息。

這種使用Homebrew管理我們的Python環境的方法是一個很好的起點,在當時對我來說很有意義。

假若我們依舊需要Python 2呢?

對任何一個新的python人員來說從python3開始都是有意義的。但是,我們那些仍然需要python2的人-例如,為了給僅在python2中可用的python項目做貢獻-可以繼續用macOS下默認在/usr/bin/python可用的python二進制文件:

$ /usr/bin/python >>> print("這次運行仍然有效!") 這次運行仍然有效!

Homebrew是如此的美妙,它甚至未python2提供了一種不同的方式:

# 如果你需要Homebrew's Python 2.7 運行 $ brew install python@2

在任何時候,我們可以從我們的shell的配置文件中移除別名,退出使用系統默認拷貝的Python。

不要忘記更新pip到pip3!

** pip 命令是專門用于Python軟件包的默認軟件包管理器。盡管我們將默認的Python命令更改為版本3,但如果在以前的版本中,我們必須單獨對 pip **命令起別名。首先,我們需要檢查使用的版本:

# 注意這是一個大寫V (不是小寫) $ pip -V pip 19.0.3 from /Library/Python/2.7/site-packages/pip-19.0.3-py2.7.egg/pip (python 2.7)

為了確保我們正在安裝的包適配我們新版本的python,我們將會用另外一個別名指向pip的適配版本。因為在當前環境下我們正在使用Homebrew作為我們的包管理器,我們知道安裝Python3的時候他會安裝pip3.默認路徑應該與Python3相同,但是我們可以通過讓shell去尋找的方式來確保這一點:

$ which pip3 /usr/local/bin/pip3

現在我們知道了位置,我們將會添加它到shell的配置文件中,就像我們之前做的那樣:

$ echo "alias pip=/usr/local/bin/pip3" >> ~/.zshrc  # or for Bash $ echo "alias pip=/usr/local/bin/pip3" >> ~/.bashrc

最后我們可以通過打開一個新的shell或者重置我們當前的shell并查看指向的內容來確認運行中的pip指向的是pip3.

# This command reloads the current shell without exiting the session # Alternatively, exit the shell and start a new one $ exec $0 # Now we can look to see where pip points us $ which pip pip: aliased to /usr/local/bin/pip3

我們可以避免使用Homebrew來更新pip,但是那需要Python文檔中的一個較長的教程

我們應該做什么

當要求對本文進行技術審查時,Moshe Zadka給我一個警告,即我的解決方案可能導致運行哪個Python的想法過于不可靠,而這個想法過于依賴外殼程序加載別名。我知道Moshe熟悉Python,但我不知道他是許多 Python教程的作者,還是即將出版的有關macOS上Python開發的書。他遵循一項核心原則,幫助40位同事在macOS系統上安全且一致地開發Python:

“所有Python開發的基本前提是永遠不要使用系統Python。您不要 Mac OS X的’默認Python’為’python3’。您永遠不必關心默認的Python。”

我們該怎樣停止關心默認值呢?Moshe推薦使用 pyenv去管理python的環境(想對配置pyenv有一個更深入的了解,看這篇文章)。該工具將管理Python的多個版本,并被描述為”簡單,易懂且遵循Unix的一站式工具傳統,可以很好地完成工作。”

雖然有其他安裝選項可以用,但最簡單的方式是從Homebrew開始:

$ brew install pyenv ?  /usr/local/Cellar/pyenv/1.2.10: 634 files, 2.4MB

現在讓我們安裝最新的Python版本(截至撰寫本文時為3.7.3):

$ pyenv install 3.7.3 python-build: use openssl 1.0 from homebrew python-build: use readline from homebrew Downloading Python-3.7.3.tar.xz... -> https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz Installing Python-3.7.3... ## 不包括進一步的輸出 ##

現在Python3已經通過pyenv安裝了,我們想為pyenv環境設置它為全局默認的版本:

$ pyenv global 3.7.3 # 驗證它生效了 $ pyenv version 3.7.3 (set by /Users/mbbroberg/.pyenv/version)

pyenv的強大之處在于它對我們shell路徑的控制。為了使其正常工作,我們需要將以下內容添加到我們的配置文件中(對我來說是.zshrc *,可能對您來說是.bash_profile *):

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

執行該命令后,我們的點文件(對于zsh為.zshrc **,對于Bash為.bash_profile **)應包括以下行:

if command -v pyenv 1>/dev/null 2>&1; then   eval "$(pyenv init -)" fi

我們還需要刪除我們在以上部分中使用的別名,因為它們會阻止正確使用pyenv。刪除它們后,我們可以確認pyenv正在管理我們的Python 3版本:

#我先重置當前的shell # 或者,啟動一個新的終端實例 $ exec $0 $ which python /Users/mbbroberg/.pyenv/shims/python $ python -V Python 3.7.3 $ pip -V pip 19.0.3 from /Users/mbbroberg/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pip (python 3.7)

現在我們可以確定我們正在使用Python 3.7.3,并且pip會與之一起更新,而無需在版本之間進行任何手動別名。使用Moshe的建議來使用版本管理器(pyenv),使我們能夠輕松地接受將來的升級,而不必對在給定時間運行的Python感到困惑。

到此,相信大家對“Mac環境下如何設置默認Python版本”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青川县| 平凉市| 公主岭市| 锦屏县| 亳州市| 潮州市| 鸡西市| 凉山| 镇江市| 秦皇岛市| 郑州市| 竹北市| 鄄城县| 裕民县| 余姚市| 荥经县| 哈巴河县| 苍溪县| 隆林| 石楼县| 青岛市| 三亚市| 启东市| 滕州市| 伊金霍洛旗| 宣武区| 东乌珠穆沁旗| 堆龙德庆县| 抚顺市| 乡宁县| 通化市| 左云县| 景东| 楚雄市| 噶尔县| 玉溪市| 吴桥县| 略阳县| 泉州市| 深州市| 开封县|