日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

配置独立于系统的PYTHON环境

發(fā)布時(shí)間:2023/11/30 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 配置独立于系统的PYTHON环境 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

配置獨(dú)立于系統(tǒng)的PYTHON環(huán)境

python 當(dāng)前用戶包

一種解決方案是在利用本機(jī)的python環(huán)境的基礎(chǔ)上,將python的包安裝在當(dāng)前user的.local文件夾下
一共有兩種方式來實(shí)現(xiàn)pip的時(shí)候安裝到當(dāng)前user

設(shè)置pip配置文件 pip.conf

一種是在~/.pip文件夾下的pip配置文件pip.conf中設(shè)置
加入

[install] install-option=--prefix=~/.local

相當(dāng)于每次在執(zhí)行

# pip install package 命令的時(shí)候在 install 后面加 --prefix 參數(shù)指定 install 的路徑 pip install --prefix=~/.local package

Tips:
python import 查找python package的流程
我的理解 TODO
參考資料 python import 機(jī)制

  • pip 參數(shù)

另一種實(shí)現(xiàn)是直接在pip install的時(shí)候加一個(gè) --user, 當(dāng)然這個(gè)也可以寫到pip.conf配置文件中去

pip install --user package

PYTHON 虛擬環(huán)境設(shè)置

因?yàn)樵趯?shí)際工作中經(jīng)常會(huì)遇到創(chuàng)建PYTHON虛擬環(huán)境的需求,每次都得去Google,很不方便,這里特意整理一下PYTHON虛擬環(huán)境創(chuàng)建的相關(guān)資料。

目錄:

  • 虛擬環(huán)境有什么好處

  • 常見的創(chuàng)建虛擬環(huán)境的工具
    • virtualenv
    • Anaconda
  • 虛擬環(huán)境配置的一些小trick

虛擬環(huán)境 Cons

有時(shí)候我們可能手上會(huì)有多個(gè)python 項(xiàng)目,每個(gè)項(xiàng)目使用不同版本的python(python2.7 python3.5 etc.),并且每個(gè)python對(duì)應(yīng)于不同的包依賴,還有一種情況是我們可能沒有root權(quán)限,或者多人共用一個(gè)服務(wù)器,我們想自己創(chuàng)建一個(gè)獨(dú)立于其他用戶的python環(huán)境。

這個(gè)時(shí)候python虛擬環(huán)境機(jī)制就顯得很有用了,python虛擬環(huán)境主要有以下好處:

  • 能夠創(chuàng)建一個(gè)獨(dú)立的python環(huán)境,和其他用戶的設(shè)置都不沖突
  • 能夠?yàn)槊恳粋€(gè)項(xiàng)目單獨(dú)維護(hù)一個(gè)環(huán)境,適應(yīng)不同的需求
  • 常見的創(chuàng)建虛擬環(huán)境的工具

    virtualenv

    virtualenv is a tool to create isolated Python environments.

    virtualenv 主要解決了以下三個(gè)問題:

  • 不同的項(xiàng)目需要同一個(gè)python package的不同版本,無法在/usr/lib/python/site-packages文件夾下面同時(shí)維護(hù)兩個(gè)不同版本(eg. tensorflow 1.0 and tensorflow 1.5)
  • 需要為某個(gè)項(xiàng)目永久(或者長(zhǎng)時(shí)間)保留一個(gè)運(yùn)行環(huán)境,(保持本機(jī)的主環(huán)境長(zhǎng)時(shí)間不變動(dòng)不現(xiàn)實(shí),無意識(shí)的更新或者其他項(xiàng)目需要更新)
  • 在服務(wù)器的使用中,普通用戶沒有權(quán)限訪問/usr/lib/python/site-packages文件夾,無法修改主機(jī)python環(huán)境
  • virtualenv 原理的一個(gè)說明:

    virtualenv是如何創(chuàng)建“獨(dú)立”的Python運(yùn)行環(huán)境的呢?

    原理很簡(jiǎn)單,就是把系統(tǒng)Python復(fù)制一份到virtualenv的環(huán)境,用命令source venv/bin/activate進(jìn)入一個(gè)virtualenv環(huán)境時(shí),virtualenv會(huì)修改相關(guān)環(huán)境變量,讓命令python和pip均指向當(dāng)前的virtualenv環(huán)境。

    安裝virtualenv

    virtualenv 的安裝方式很多,可以通過pip安裝,也可以直接從git上下載,通過源碼安裝,還可以用easy_install安裝。

    這里只介紹使用pip安裝的方法

    • 安裝到全局

      [sudo] pip install virtualenv
    • 安裝到當(dāng)前用戶
      shell export PYTHONUSERBASE=$HOME pip install --user virtualenv
      virtualenv 的簡(jiǎn)單使用

    virtualenv 主要幾個(gè)指令是

    • 創(chuàng)建env

      virtualenv env_name --python=python3.x # virtualenv 會(huì)在當(dāng)前文件夾下創(chuàng)建一個(gè)名為env_name的文件夾作為虛擬環(huán)境env_name的目錄,并且將python3.x作為新創(chuàng)建環(huán)境的python解釋器
    • 進(jìn)入env

      # 想要使用env,需要先active當(dāng)前環(huán)境,命令為: source env_path/bin/activate #Tips: 可以在~/.bash_aliases文件中設(shè)定一個(gè)alias,方便直接進(jìn)入env
    • 使用完env以后,可以通過deactivate退出當(dāng)前env

    • 如果要?jiǎng)h除某個(gè)env,只需要 rm -r env_dir,刪除對(duì)應(yīng)的文件夾就可以了

    還有一些virtualenv的擴(kuò)展包,進(jìn)一步集成了virtualenv的功能:virtualenvwrapper (能夠在一個(gè)文件夾下統(tǒng)一管理所有的env)

    • 其他幾個(gè)小trick
      • virtualenv 默認(rèn)不包含全局安裝的python 包
      • 可以在env里面通過pip freeze > requirements.txt 來獲取當(dāng)前環(huán)境所有的python package的信息。這樣在下一次創(chuàng)建環(huán)境的時(shí)候就可以通過pip install -r requirements.txt直接快速安裝所有依賴包

    Anaconda

    Anaconda is the most popular python data science platform. (Introduced by the Anaconda website)

    Anaconda Python 是專注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda、python等190多個(gè)科學(xué)包及其依賴項(xiàng)。

    Anaconda分離python環(huán)境的原理和virtualenv基本一致,都是通過創(chuàng)建一個(gè)獨(dú)立的文件夾保存python環(huán)境。Anaconda相較于virtualenv不同的地方主要有以下幾點(diǎn):

  • Anaconda是一個(gè)綜合的python工具,包括python基礎(chǔ)解釋器,IPython,CPython,JupiterBook和一個(gè)Python IDE Spyder(Spyder是一個(gè)擁有和Matlab相似的界面的Python IDE)
  • Anaconda配置python環(huán)境的時(shí)候只需要指定python版本,而不需要本機(jī)提前安裝(這相較于virtualenv是一個(gè)很大的優(yōu)勢(shì))
  • Anaconda基于Conda來管理python包和環(huán)境。
  • Anaconda 常用指令
    # 創(chuàng)建新環(huán)境 conda create -n env_name python=X.X #創(chuàng)建名為env_name,解釋器為pythonx.x的python虛擬環(huán)境 # env_name文件可以在Anaconda安裝目錄envs文件下找到。# 進(jìn)入python環(huán)境 # Linux source activate env_name # Windows activate env_name# 進(jìn)入python環(huán)境以后的一些命令 conda list # 查看當(dāng)前環(huán)境安裝了那些包 conda env list conda info -e # 查看當(dāng)前存在那些虛擬環(huán)境 conda install package # 安裝第三方python包 # 也可以直接使用pip命令安裝 pip install package# 刪除環(huán)境中的某個(gè)包 conda remove package pip uninstall package# 退出當(dāng)前虛擬環(huán)境 source deactivate # Linux deactivate # Windows# 刪除虛擬環(huán)境 conda remove -n env_name

    轉(zhuǎn)載于:https://www.cnblogs.com/yeyuan111/p/10083499.html

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的配置独立于系统的PYTHON环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。