成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MacOS系統(tǒng)中如何設(shè)置Python虛擬環(huán)境

系統(tǒng) MacOS 后端
作為 Python 開發(fā)者和 MacOS 用戶,拿到新機(jī)器首先要做的就是設(shè)置 Python 開發(fā)環(huán)境。

[[270394]]

使用 pyenv 和 virtualwrapper 來管理你的虛擬環(huán)境,可以避免很多困惑。

作為 Python 開發(fā)者和 MacOS 用戶,拿到新機(jī)器首先要做的就是設(shè)置 Python 開發(fā)環(huán)境。下面是***實(shí)踐(雖然我們已經(jīng)寫過 在 MacOS 上管理 Python 的其它方法)。

預(yù)備

首先,打開終端,在其冰冷毫無提示的窗口輸入 xcode-select --install 命令。點(diǎn)擊確認(rèn)后,基本的開發(fā)環(huán)境就會(huì)被配置上。MacOS 上需要此步驟來設(shè)置本地開發(fā)實(shí)用工具庫(kù),根據(jù) OS X Daily 的說法,其包括 ”許多常用的工具、實(shí)用程序和編譯器,如 make、GCC、clang、perl、svn、git、size、strip、strings、libtool、cpp、what 及許多在 Linux 中系統(tǒng)默認(rèn)安裝的有用命令“。

接下來,安裝 Homebrew, 執(zhí)行如下的 Ruby 腳本。

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

如果你像我一樣,對(duì)隨意就運(yùn)行的來源于互聯(lián)網(wǎng)的腳本心存疑慮的話,可以點(diǎn)擊上面的腳本去仔細(xì)看看其具體功能。

一旦安裝完成后,就恭喜了,你擁有了一個(gè)優(yōu)秀的包管理工具。自然的,你可能接下來會(huì)執(zhí)行 brew install python 或其他的命令。不要這樣,哈哈!Homebrew 是為我們提供了一個(gè) Python 的管理版本,但讓此工具來管理我們的 Python 環(huán)境話,很快會(huì)失控的。我們需要 pyenv,一款簡(jiǎn)單的 Python 版本管理工具,它可以安裝運(yùn)行在 許多操作系統(tǒng) 上。運(yùn)行如下命令:

  1. $ brew install pyenv

想要每次打開命令提示框時(shí) pyenv 都會(huì)運(yùn)行的話,需要把下面的內(nèi)容加入你的配置文件中(MacOS 中默認(rèn)為 .bash_profile,位于家目錄下):

  1. $ cd ~/
  2. $ echo 'eval "$(pyenv init -)"' >> .bash_profile

添加此行內(nèi)容后,每個(gè)終端都會(huì)啟動(dòng) pyenv 來管理其 PATH 環(huán)境變量,并插入你想要運(yùn)行的 Python 版本(而不是在環(huán)境變量里面設(shè)置的初始版本。更詳細(xì)的信息,請(qǐng)閱讀 “如何給 Linux 系統(tǒng)設(shè)置 PATH 變量”)。打開新的終端以使修改的 .bash_profile 文件生效。

在安裝你中意的 Python 版本前,需要先安裝一些有用的工具,如下示:

  1. $ brew install zlib sqlite

pyenv 依賴于 zlib 壓縮算法和 SQLite 數(shù)據(jù)庫(kù),如果未正確配置,往往會(huì)導(dǎo)致構(gòu)建問題。將這些導(dǎo)出配置命令加入當(dāng)前的終端窗口執(zhí)行,確保它們安裝完成。

  1. $ export LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib"
  2. $ export CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include"

現(xiàn)在準(zhǔn)備工作已經(jīng)完成,是時(shí)候安裝一個(gè)適合于現(xiàn)代人的 Python 版本了:

  1. $ pyenv install 3.7.3

去喝杯咖啡吧,挑些豆類,親自燒烤,然后品嘗。說這些的意思是上面的安裝過程需要一段時(shí)間。

添加虛擬環(huán)境

一旦完成,就可以愉快地使用虛擬環(huán)境了。如沒有接下來的步驟的話,你只能在你所有的工作項(xiàng)目中共享同一個(gè) Python 開發(fā)環(huán)境。使用虛擬環(huán)境來隔離每個(gè)項(xiàng)目的依賴關(guān)系的管理方式,比起 Python 自身提供的開箱即用功能來說,更加清晰明確和更具有重用性。基于這些原因,把 virtualenvwrapper 安裝到 Python 環(huán)境中吧:

  1. $ pyenv global 3.7.3
  2. # Be sure to keep the $() syntax in this command so it can evaluate
  3. $ $(pyenv which python3) -m pip install virtualenvwrapper

再次打開 .bash_profile 文件,把下面內(nèi)容添加進(jìn)去,使得每次打開新終端時(shí)它都有效:

  1. # We want to regularly go to our virtual environment directory
  2. $ echo 'export WORKON_HOME=~/.virtualenvs' >> .bash_profile
  3. # If in a given virtual environment, make a virtual environment directory
  4. # If one does not already exist
  5. $ echo 'mkdir -p $WORKON_HOME' >> .bash_profile
  6. # Activate the new virtual environment by calling this script
  7. # Note that $USER will substitute for your current user
  8. $ echo '. ~/.pyenv/versions/3.7.3/bin/virtualenvwrapper.sh' >> .bash_profile

關(guān)掉終端再重新打開(或者運(yùn)行 exec /bin/bash -l 來刷新當(dāng)前的終端會(huì)話),你會(huì)看到 virtualenvwrapper 正在初始化環(huán)境配置:

  1. $ exec /bin/bash -l
  2. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/premkproject
  3. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/postmkproject
  4. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/initialize
  5. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/premkvirtualenv
  6. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/postmkvirtualenv
  7. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/prermvirtualenv
  8. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/postrmvirtualenv
  9. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/predeactivate
  10. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/postdeactivate
  11. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/preactivate
  12. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/postactivate
  13. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/get_env_details

從此刻開始,你的所有工作都是在虛擬環(huán)境中的,其允許你使用臨時(shí)環(huán)境來安全地開發(fā)。使用此工具鏈,你可以根據(jù)工作所需,設(shè)置多個(gè)項(xiàng)目并在它們之間切換:

  1. $ mkvirtualenv test1
  2. Using base prefix '/Users/moshe/.pyenv/versions/3.7.3'
  3. New python executable in /Users/moshe/.virtualenvs/test1/bin/python3
  4. Also creating executable in /Users/moshe/.virtualenvs/test1/bin/python
  5. Installing setuptools, pip, wheel...
  6. done.
  7. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test1/bin/predeactivate
  8. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test1/bin/postdeactivate
  9. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test1/bin/preactivate
  10. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test1/bin/postactivate
  11. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test1/bin/get_env_details
  12. (test1)$ mkvirtualenv test2
  13. Using base prefix '/Users/moshe/.pyenv/versions/3.7.3'
  14. New python executable in /Users/moshe/.virtualenvs/test2/bin/python3
  15. Also creating executable in /Users/moshe/.virtualenvs/test2/bin/python
  16. Installing setuptools, pip, wheel...
  17. done.
  18. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test2/bin/predeactivate
  19. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test2/bin/postdeactivate
  20. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test2/bin/preactivate
  21. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test2/bin/postactivate
  22. virtualenvwrapper.user_scripts creating /Users/moshe/.virtualenvs/test2/bin/get_env_details
  23. (test2)$ ls $WORKON_HOME
  24. get_env_details postmkvirtualenv premkvirtualenv
  25. initialize postrmvirtualenv prermvirtualenv
  26. postactivate preactivate test1
  27. postdeactivate predeactivate test2
  28. postmkproject premkproject
  29. (test2)$ workon test1
  30. (test1)$

此處,使用 deactivate 命令可以退出當(dāng)前環(huán)境。

推薦實(shí)踐

你可能已經(jīng)在比如 ~/src 這樣的目錄中添加了長(zhǎng)期的項(xiàng)目。當(dāng)要開始了一個(gè)新項(xiàng)目時(shí),進(jìn)入此目錄,為此項(xiàng)目增加子文件夾,然后使用強(qiáng)大的 Bash 解釋程序自動(dòng)根據(jù)你的目錄名來命令虛擬環(huán)境。例如,名稱為 “pyfun” 的項(xiàng)目:

  1. $ mkdir -p ~/src/pyfun && cd ~/src/pyfun
  2. $ mkvirtualenv $(basename $(pwd))
  3. # we will see the environment initialize
  4. (pyfun)$ workon
  5. pyfun
  6. test1
  7. test2
  8. (pyfun)$ deactivate
  9. $

當(dāng)需要處理此項(xiàng)目時(shí),只要進(jìn)入該目錄,輸入如下命令重新連接虛擬環(huán)境:

  1. $ cd ~/src/pyfun
  2. (pyfun)$ workon .

初始化虛擬環(huán)境意味著對(duì) Python 版本和所加載的模塊的時(shí)間點(diǎn)的拷貝。由于依賴關(guān)系會(huì)發(fā)生很大的改變,所以偶爾需要刷新項(xiàng)目的虛擬環(huán)境。這種情況,你可以通過刪除虛擬環(huán)境來安全的執(zhí)行此操作,源代碼是不受影響的,如下所示:

  1. $ cd ~/src/pyfun
  2. $ rmvirtualenv $(basename $(pwd))
  3. $ mkvirtualenv $(basename $(pwd))

這種使用 pyenvvirtualwrapper 管理虛擬環(huán)境的方法可以避免開發(fā)環(huán)境和運(yùn)行環(huán)境中 Python 版本的不一致出現(xiàn)的苦惱。這是避免混淆的最簡(jiǎn)單方法 - 尤其是你工作的團(tuán)隊(duì)很大的時(shí)候。

如果你是初學(xué)者,正準(zhǔn)備配置 Python 環(huán)境,可以閱讀下 MacOS 中使用 Python 3 文章。 你們有關(guān)于 Python 相關(guān)的問題嗎,不管是初學(xué)者的還是中級(jí)使用者的?給我們留下評(píng)論信息,我們?cè)谙缕恼轮袝?huì)考慮講解。

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

2021-10-28 19:08:29

Python虛擬環(huán)境

2023-06-01 15:37:11

PyCharm工具開發(fā)

2021-07-30 20:25:04

pipxPython編程語(yǔ)言

2012-11-30 16:02:57

在vSphereiSCSI存儲(chǔ)虛擬化

2023-05-05 16:37:13

CPU 性能虛擬環(huán)境虛擬化

2013-07-15 10:18:07

2013-07-11 09:11:16

2021-03-04 20:46:32

virtualenvwPython虛擬環(huán)境

2021-11-15 05:44:16

Python虛擬環(huán)境開發(fā)

2021-09-18 08:00:00

Python系統(tǒng)開發(fā)

2017-01-06 09:57:08

AppSenseLANDesk桌面

2021-08-13 08:42:48

Python 編程技巧poetry

2012-09-20 10:35:40

VMware虛擬環(huán)境公有云

2020-07-06 07:00:21

PyCharm虛擬環(huán)境

2024-05-28 09:26:42

2020-05-22 08:52:08

LinuxPython工具

2017-06-27 05:08:46

存儲(chǔ)虛擬化服務(wù)器

2013-10-11 16:47:38

2011-08-22 13:56:09

Linux虛擬

2019-07-02 06:31:27

Python虛擬環(huán)境代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 男人天堂社区 | 国产午夜精品久久久 | 精品久久久久久亚洲综合网 | 成人性生交大片免费看r链接 | 精久久久| 一区二区三区视频在线观看 | 日韩黄色av | 999久久久| 日韩av一区二区在线观看 | 请别相信他免费喜剧电影在线观看 | 99这里只有精品视频 | 在线看片国产精品 | 成人久久视频 | 亚洲精品中文字幕在线观看 | 久久新 | 免费av观看| 久久精品一区 | 97精品久久 | 亚洲一区二区三区在线播放 | 亚洲综合婷婷 | 亚洲成人一区二区三区 | 欧美精品一二区 | 色综合av | www.精品一区 | 亚洲最新在线视频 | 久久国产视频网站 | 成人在线小视频 | 国产一区二区在线视频 | 日本一区二区三区在线观看 | 9999精品视频 | 日韩网| 免费一级网站 | 国产在线小视频 | 午夜成人免费视频 | 日韩在线中文字幕 | 国产成人精品一区二区三 | 欧美精品久久久 | 毛片一级片 | 欧美一区2区三区4区公司二百 | h视频在线播放 | 二区三区视频 |