属于自己的贾维斯
屬于自己的賈維斯之Python學(xué)習(xí)
??人生第一次寫博客,想記錄下自己的學(xué)習(xí)過程,以便以后復(fù)習(xí)簡單(畢竟自己的博客總想知道有沒有人來看,就可以順便過來復(fù)習(xí)了),因?yàn)橛霉P的記錄感覺都沒怎么去看,所以就想用這種方法來記錄。因?yàn)楸救吮容^懶再加上精神容易分散,配個(gè)Linux下的環(huán)境用了兩天,慚愧不如,以后認(rèn)真學(xué)習(xí)加油!!!
(一)Python在Linux下的環(huán)境配置
一.首先得有一個(gè)Linux系統(tǒng)
??感覺在廢話,不過如果純粹作為Python的學(xué)習(xí)你可以只安裝個(gè)最小系統(tǒng),什么界面都不需要不過之前我在學(xué)習(xí)Linux的一些基礎(chǔ)命令時(shí),就已經(jīng)安裝了一個(gè)Centos7。
二.安裝Pyenv
??簡介:這是一個(gè)在Unix/Linux下可以管理多個(gè)Python版本的工具,在現(xiàn)實(shí)中一個(gè)公司有很多項(xiàng)目需要用到不同版本的Python,這個(gè)時(shí)候有人就會問:“為什么不統(tǒng)一一個(gè)版本的Python”?首先一個(gè)項(xiàng)目從開始到結(jié)束會浪費(fèi)很多人力物力財(cái)力,如果隨隨便便換版本可能會牽一發(fā)而動全身,可能會延伸出很多的Bug,所以一般老項(xiàng)目用老版本維護(hù),新項(xiàng)目用新版本做。所以正因?yàn)槿绱瞬磐伙@Pyenv的重要性。
1、安裝 git
??因?yàn)檫@個(gè)Pyenv是來自GitHub的一個(gè)開源項(xiàng)目,所以,等會安裝是從GitHub在線安裝,安裝Git的命令
#yum install git -y
yum我配置了兩個(gè)源,一個(gè)是本地光盤,另一個(gè)是來自阿里云的源
雖說之前學(xué)習(xí)Linux,但我只是學(xué)習(xí)一些命令的使用,這里面的配置是網(wǎng)上的資料的,以后要掌握,現(xiàn)在在這里做個(gè)標(biāo)記(未掌握)
2、安裝Python的編譯依賴
??已經(jīng)配置好了yum,所以我們直接從yum安裝就行了使用下列命令
yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
分別安裝了gcc編譯器,make這是編譯makefile文件的,以及兩個(gè)壓縮軟件,剩下的不了解(未學(xué)習(xí))
3、安裝Pyenv
??安裝之前請注意:最好不要用root用戶的安裝,原因后面會講
??這里我已經(jīng)創(chuàng)建了一個(gè)普通用戶,大家可以自行創(chuàng)建,然后切換到這個(gè)普通用戶,并到這個(gè)用戶的家目錄,然后執(zhí)行下面這個(gè)命令
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenvinstaller | bash
然后執(zhí)行這個(gè)會出現(xiàn)一些問題
??curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused會出現(xiàn)這么一句話,通過查找資料知道,GitHub的一些域名被污染了然后被墻了,通過查閱這篇文章,鏈接放在下面,就可以解決這個(gè)方法
原文鏈接:https://www.jianshu.com/p/c2e829027b0a
也有可能會碰到這個(gè)問題
??curl: (35) SSL connect error
??這個(gè)問題表示你的nss版本太低,只要升一下級就可以了,執(zhí)行下面這個(gè)命令
yum update nss
然后再重新執(zhí)行
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenvinstaller | bash
安裝完成的話最下面三行會有個(gè)提示
export PATH="/home/python/.pyenv/bin:$PATH"
eval “$(pyenv init -)”
eval “$(pyenv virtualenv-init -)”
當(dāng)前用戶的家目錄下有個(gè).bash_profile的文件,把這三句話追加到這個(gè)文件里,然后執(zhí)行
. ./.bash_profile或source ./.bash_profile
這是為了讓配置生效,重啟或者重新登錄也可以,至此pyenv安裝完畢執(zhí)行下面這個(gè)命令
$ pyenv -v
pyenv 1.2.19
就會顯示pyenv的版本號。
三、安裝Python3.5.3
??執(zhí)行python -V,就會知道當(dāng)前這個(gè)Linux的Python版本
$ python ?-V
Python 2.7.5
??不過很多庫都逐漸不支持python2了,逐漸轉(zhuǎn)向python3,所以我們安裝python3.5.3,雖然這個(gè)版本在2020年也不是最新的,但因?yàn)榻虒W(xué)環(huán)境是這個(gè)環(huán)境,加上我是小白,得跟著教學(xué)來,執(zhí)行下面這個(gè)命令
$ pyenv -h
??劃紅線是我們要安裝Python版本的命令,我們執(zhí)行一下看看
$ pyenv install
??劃紅線這個(gè)參數(shù),看后面的描述我們可以知道,加上這個(gè)參數(shù)可以列出可以安裝的版本,執(zhí)行一下
$ pyenv install -l
??這里就不一一列舉了,然后執(zhí)行
$pyenv install 3.5.3
??就會在線下載Python版本并自動安裝,安裝完成執(zhí)行這個(gè)命令就可以看到可以選擇的Python版本
pyenv versions
??*表示選到的Python版本,目前指向系統(tǒng)版本,然后怎么選擇版本呢
??請看上面劃紅線的參數(shù)后面的描述,可以知道這三個(gè)是設(shè)置Python版本的,不過三個(gè)變量的作用區(qū)域是有區(qū)別的
global:這個(gè)是全局設(shè)置的,意思是通過此變量可以將版本作用到全局,因?yàn)槲覀兪鞘褂闷胀ㄓ脩?#xff0c;所以只能作用于當(dāng)前用戶,所以知道為什么不用root安裝Pyenv了吧,因?yàn)槿绻胮yenv安裝,用這個(gè)變量設(shè)置那涉及的范圍得多廣,可能會影響到服務(wù)器上其他的python項(xiàng)目執(zhí)行的環(huán)境,所以一般不用這個(gè)設(shè)置.
local:這個(gè)是設(shè)置將python版本作用于當(dāng)前工作目錄以及它的子目錄;
shell:這個(gè)是設(shè)置將python版本作用于當(dāng)前會話,也就是說一關(guān)機(jī)就沒了。
而這些參數(shù)的使用
$ pyenv 三個(gè)參數(shù)之一 python版本
就可以了,然后你在重新執(zhí)行 pyenv versions,你會發(fā)現(xiàn)星號跑到別的地方去了
四、設(shè)置虛擬環(huán)境
??為什么要設(shè)置虛擬環(huán)境,前面有提到過一個(gè)公司可能會跑不同版本的Python,那么做Python項(xiàng)目的肯定會用很多不同的庫,不同版本的Python支持的庫可能會沖突或者同版本不同的庫也會起沖突等等,那么為了避免出現(xiàn)這些問題,就要使不同的項(xiàng)目擁有一個(gè)屬于自己環(huán)境,并且這個(gè)環(huán)境是在大環(huán)境之下的但是是獨(dú)立的小環(huán)境。
??怎么建立呢?這就是pyenv的好處了,它有一個(gè)插件Virtualenv,通過這個(gè)插件,就可以創(chuàng)建對應(yīng)Python版本的虛擬環(huán)境,我們來執(zhí)行一下
$ pyenv virtualenv 3.5.3 vir3.5.3
??然后就可以創(chuàng)建vir3.5.3這樣一個(gè)虛擬環(huán)境
??如圖我們已經(jīng)創(chuàng)建成功了,并且我們可以發(fā)現(xiàn)有兩個(gè)東西3.5.3/envs/vir3.5.3和vir3.5.3,這兩個(gè)其實(shí)是同一個(gè)東西,并且后者通過軟鏈接指向前者,那為什么說它可以獨(dú)立開來呢?看圖
??第一張圖是3.5.3在做項(xiàng)目時(shí)加載的庫都會放這里,下面是它的路徑,然后我們再看看虛擬出來的
??如圖,在不同的路徑出現(xiàn)同一個(gè)東西,這就是虛擬環(huán)境加載庫時(shí)存放庫的地方,這也是為什么它能獨(dú)立出來的原因,然后在項(xiàng)目的文件夾執(zhí)行那個(gè)選版本參數(shù)的命令,我們選擇虛擬環(huán)境
??在[]前面多了(vir3.5.3)這個(gè)表示這個(gè)文件夾及其子目錄下都將處于這個(gè)環(huán)境,即使我們退出這個(gè)目錄,它也不會影響其它目錄.虛擬環(huán)境搞定!!!
五、pip的通用配置以及ipython和jupyter的安裝
1、pip的配置
??pip是python3.x自帶的一個(gè)管理包的工具,通過它可以加載我們所需要的庫文件,用它就像用yum一樣。
??首先在家目錄建一個(gè).pip的隱藏文件夾,在這個(gè)文件夾下在建立一個(gè)pip.conf的文件,然后在這個(gè).conf文件下上寫上
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com
(待學(xué)習(xí))
??然后到那個(gè)虛擬環(huán)境下執(zhí)行pip -v就可以看到效果了,為什么要到那里呢?因?yàn)樵谥髂夸浳覜]有設(shè)置版本號為3.5.3,默認(rèn)是2.x的所以使用不了這個(gè)命令,但并無大礙。
2、ipython的安裝
??ipython 是增強(qiáng)的交互式Python命令行工具,我們只要執(zhí)行下面命令
$ pip install ipython
??執(zhí)行完就可以看安裝過程了然后再執(zhí)行ipython,如果有如圖反應(yīng),表明安裝成功
3、jupyter的安裝
??Jupyter 是基于WEB的交互式筆記本,其中可以非常方便的使用Python。 安裝Jupyter,也會安裝ipython的.
執(zhí)行命令,就可以看到安裝過程
$ pip install jupyter
然后執(zhí)行
$ jupyter notebook help
??看圖,第三條命令是設(shè)置密碼的,以方便用戶通過瀏覽器訪問是通過輸入密碼就可以進(jìn)入了;第一條命令是啟動notebook的,密碼就自行設(shè)置了。
??接下來就是如何訪問jupyter的notebook了首先我們先啟動
$ jupyter notebook
??啟動完就可以看到下面的圖,但是請看紅線部分,這個(gè)表示是本地回環(huán),所以外界是無法訪問notebook,也就是我們無法從虛擬機(jī)外的瀏覽器訪問
??通過命令jupyter 的幫助看到有個(gè)參數(shù) ip,這個(gè)參數(shù)可以指定特定ip來訪問jupyter,所以我們可以執(zhí)行下面的命令
jupyter notebook --ip=0.0.0.0
??這樣就可以了,0.0.0.0這個(gè)是全網(wǎng)的ip也就是所有的主機(jī)都可以訪問,然后我們再查看虛擬機(jī)的ip,然后在windows的瀏覽器上輸入ip:8888就可以訪問了,對了記得關(guān)閉虛擬機(jī)的防火墻哦,不然也訪問不了如圖是訪問成功的畫面
??至此Linux下的Python環(huán)境配置完畢
六、總結(jié)
??從無到有,一步步配置好python的環(huán)境我感覺非常的開心,但由于自己的懶惰以及身體的不適,才把可以一天搞定的東西用了兩天,導(dǎo)致學(xué)習(xí)效率大大降低,所以要認(rèn)真了,加油,希望我可以堅(jiān)持,并且堅(jiān)持每天寫博客,并且成功做出屬于自己的賈維斯!!!(碼字不易,如果有需要改進(jìn)的地方或有錯的地方請大佬指點(diǎn)迷津謝謝!!!)
總結(jié)
- 上一篇: 数字图像处理(冈萨雷斯)_数字图像处理笔
- 下一篇: CSC 命令编译cs文件