python基礎(chǔ)環(huán)境搭建

python基礎(chǔ)環(huán)境搭建

Python的環(huán)境搭建說(shuō)難也不難,說(shuō)簡(jiǎn)單也不簡(jiǎn)單。主要有以上幾點(diǎn)盼铁。

1.Python的安裝就已經(jīng)自帶了Python解釋器,默認(rèn)是CPython蹋偏。

2.當(dāng)我們需要使用第三方庫(kù)的時(shí)候便斥,我們需要使用到的包管理工具。

3.當(dāng)我們的電腦有幾種Python版本威始,并且在每個(gè)Python版本都需要有虛擬環(huán)境時(shí)枢纠,這需要有環(huán)境管理。

4.當(dāng)我們要把自己的程序打包成exe時(shí)黎棠,則需要Python打包軟件晋渺。

一.Python的安裝不必細(xì)說(shuō)

二.包管理工具

Python的包管理工具有三種,distutils脓斩、setuptools(distribute)和pip木西。

1.distutils

distutils 是 python 標(biāo)準(zhǔn)庫(kù)的一部分,這個(gè)庫(kù)的目的是為開發(fā)者提供一種方便的打包方式随静,同時(shí)為使用者提供方便的安裝方式八千。我們經(jīng)常使用的setup.py就是基于distutils實(shí)現(xiàn)的,然后通過(guò)setup.py就可以進(jìn)行打包或者安裝了燎猛。

舉例:

python setup.py sdist表示打包我們的py程序

python setup.py install則是安裝發(fā)行的第三方庫(kù)

2.setuptools(distribute)

setuptools 是對(duì) distutils 的增強(qiáng)恋捆,尤其是引入了包依賴管理。我們可以通過(guò)ez_setup.py來(lái)安裝setuptools重绷。

至于distribute沸停,它是setuptools的一個(gè)分支版本。分支的原因是有一部分開發(fā)者認(rèn)為 setuptools 開發(fā)太慢论寨。但現(xiàn)在星立,distribute 又合并回了 setuptools 中,所以可以認(rèn)為它們是同一個(gè)東西葬凳。

前面看到setup.py可以創(chuàng)建一個(gè)壓縮包绰垂,而setuptools使用了一種新的文件格式(.egg),可以為Python包創(chuàng)建 egg文件火焰。setuptools 可以識(shí)別.egg文件劲装,并解析、安裝它昌简。

easy_install

當(dāng)安裝好setuptools/distribute之后占业,我們就可以直接使用easy_install這個(gè)工具了:

從PyPI上安裝一個(gè)包:當(dāng)使用 easy_install package 命令后,easy_install 可以自動(dòng)從 PyPI 上下載相關(guān)的包纯赎,并完成安裝谦疾,升級(jí)。

下載一個(gè)包安裝:通過(guò) easy_install package.tgz 命令可以安裝一個(gè)已經(jīng)下載的包

安裝egg文件:通過(guò) easy_install package.egg 可以安裝一個(gè)egg格式的文件

根據(jù)上面的分析犬金,可以看到setuptools/distribute和easy_install之間的關(guān)系:

setuptools/distribute 都擴(kuò)展了 distutils念恍,提供了更多的功能

easy_install是基于setuptools/distribute的一個(gè)工具六剥,方便了包的安裝和省級(jí)

3.pip

pip是目前最流行的Python包管理工具,它被當(dāng)作easy_install的替代品峰伙,但是仍有大量的功能建立在setuptools之上疗疟。

easy_install 有很多不足:安裝事務(wù)是非原子操作,只支持 svn瞳氓,沒(méi)有提供卸載命令策彤, 安裝一系列包時(shí)需要寫腳本。pip 解決了以上問(wèn)題匣摘,已經(jīng)成為新的事實(shí)標(biāo)準(zhǔn)店诗。

pip的使用非常簡(jiǎn)單,并支持從任意能夠通過(guò) VCS 或?yàn)g覽器訪問(wèn)到的地址安裝 Python 包:

安裝:? pip install SomePackage

卸載:? pip uninstall SomePackage

使用pip

在大家使用Python中恋沃,推薦使用pip進(jìn)行Python包管理必搞,pip的安裝和使用都比較方便。

pip安裝

pip的安裝有兩種常用的方式:

下載get-pip.py文件囊咏,然后執(zhí)行 python get-pip.py 進(jìn)行安裝(如果沒(méi)有安裝setuptools恕洲,那么get-pip.py會(huì)幫忙安裝)

下載pip源碼包,然后通過(guò)setup.py進(jìn)行安裝

4.小tips

easy_install --help

pip --help

可以了解到pip和easy_install的使用方法和參數(shù)梅割。

PyPI ( Python Package Index)是獲得第三方 Python 軟件包以補(bǔ)充標(biāo)準(zhǔn)庫(kù)的一個(gè)站點(diǎn)霜第。

三.Python環(huán)境管理

Python本身有很多個(gè)版本,第三方的Python包又有很多可用的版本户辞,所以經(jīng)常會(huì)遇到下面的問(wèn)題:

1.運(yùn)行不同的Python程序泌类,需要使用不同版本的Python(2.x或3.x).

2.在同一中Python版本中,可能需要用到不同版本的第三方包底燎,例如:Django 1.6或者Django 1.7

對(duì)于上面的問(wèn)題刃榨,已經(jīng)有很多現(xiàn)成的個(gè)工具可以解決。根據(jù)解決上面問(wèn)題的方法双仍,這些工具大概可以分為兩類:

1.Python 版本環(huán)境切換工具

2.特定Python版本虛擬環(huán)境切換工具

Python版本環(huán)境切換工具

Python版本環(huán)境切換工具的作用就是讓多個(gè)不同版本的Python可以在系統(tǒng)上共存枢希。并且提供簡(jiǎn)單的命令來(lái)支持不同Python版本之間的切換。

pyenv

目前最流行的 python版本環(huán)境切換工具朱沃,但是不支持Windows

pywin

Windows 上pyenv 的替代品苞轿,但是功能相對(duì)pyenv比較少

py.exe

Python 3.3 版本以后Windows系統(tǒng)自帶的啟動(dòng)工具(Python Launcher for Windows),可以直接在命令行中使用

一般的pythonic應(yīng)該都會(huì)有Python2和Python3逗物,所以最好就用自帶的py.exe當(dāng)然最好啦搬卒。

特定Python版本虛擬環(huán)境切換工具

簡(jiǎn)單的說(shuō),虛擬環(huán)境切換工具就是可以根據(jù)當(dāng)前使用的Python版本環(huán)境來(lái)創(chuàng)建多個(gè)虛擬的Python環(huán)境翎卓。這些虛擬的環(huán)境之間相互獨(dú)立契邀,可以安裝各個(gè)環(huán)境所需的Python包。

irtualenv

目前最流行的 python 虛擬環(huán)境配置工具

virtualenvwrapper

使用shell開發(fā)失暴,是對(duì)virtualenv的一個(gè)封裝蹂安,簡(jiǎn)化了virtualenv命令的使用椭迎,并且進(jìn)行了一些功能擴(kuò)展

virtualenvwrapper-win

使用Windows batch shell開發(fā)的virtualenvwrapper

venv

Python 3.3 版本以后自帶的虛擬環(huán)境工具锐帜,僅支持 python 3.3 和以后版本

這個(gè)我還沒(méi)有用田盈,但我認(rèn)為這個(gè)工具非常好,這樣我的各個(gè)不同的Python項(xiàng)目的庫(kù)終于可以涇渭分明了缴阎,而不是一個(gè)大雜燴允瞧。

打包Python程序exe

Python打包程序大概有兩個(gè):

1.py2exe

2.pyinstaller

當(dāng)然,這個(gè)我沒(méi)有糾結(jié)蛮拔,因?yàn)閜y2exe有點(diǎn)太老了述暂,當(dāng)然選擇pyinstaller呀。

安裝pyinstaller

在github或者pyinstaller官網(wǎng)上下載源碼建炫,然后解壓畦韭,切換到解壓的目錄,執(zhí)行python setup.py install,也就是distutils的方法肛跌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末艺配,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子衍慎,更是在濱河造成了極大的恐慌转唉,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稳捆,死亡現(xiàn)場(chǎng)離奇詭異赠法,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)乔夯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門砖织,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人末荐,你說(shuō)我怎么就攤上這事侧纯。” “怎么了鞠评?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵茂蚓,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我剃幌,道長(zhǎng)聋涨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任负乡,我火速辦了婚禮牍白,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抖棘。我一直安慰自己茂腥,他們只是感情好狸涌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著最岗,像睡著了一般帕胆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上般渡,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天懒豹,我揣著相機(jī)與錄音,去河邊找鬼驯用。 笑死脸秽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝴乔。 我是一名探鬼主播记餐,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼薇正!你這毒婦竟也來(lái)了片酝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤铝穷,失蹤者是張志新(化名)和其女友劉穎钠怯,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曙聂,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晦炊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宁脊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片断国。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖榆苞,靈堂內(nèi)的尸體忽然破棺而出稳衬,到底是詐尸還是另有隱情,我是刑警寧澤坐漏,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布薄疚,位于F島的核電站,受9級(jí)特大地震影響赊琳,放射性物質(zhì)發(fā)生泄漏街夭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一躏筏、第九天 我趴在偏房一處隱蔽的房頂上張望板丽。 院中可真熱鬧,春花似錦趁尼、人聲如沸埃碱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)砚殿。三九已至啃憎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓮具,已是汗流浹背荧飞。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留名党,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓挠轴,卻偏偏與公主長(zhǎng)得像传睹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岸晦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本站文章除注明轉(zhuǎn)載外欧啤,均為本站原創(chuàng)或者翻譯。 本站文章歡迎各種形式的轉(zhuǎn)載启上,但請(qǐng)18歲以上的轉(zhuǎn)載者注明文章出處邢隧,尊重...
    Michael_林閱讀 731評(píng)論 1 1
  • 譯者按:原文寫于2011年末,雖然文中關(guān)于Python 3的一些說(shuō)法可以說(shuō)已經(jīng)不成立了冈在,但是作為一篇面向從其他語(yǔ)言...
    EarlGrey閱讀 69,663評(píng)論 7 124
  • 一倒慧、困惑 作為一個(gè) Python 初學(xué)者,我在包管理上感到相當(dāng)疑惑(嗯包券,是困惑)纫谅。主要表現(xiàn)在下面幾個(gè)方面: 這幾個(gè)...
    PyChina閱讀 1,194評(píng)論 1 6
  • After the agricultural revolution, human societies grew e...
    DW_閱讀 362評(píng)論 0 0
  • 最近看到《見字如面》這個(gè)節(jié)目侍郭,字里行間里總是能抨擊你的心靈询吴。 聽一封封穿越時(shí)空的信件,時(shí)隔多年再讀起感覺(jué)...
    夜闌明月閱讀 222評(píng)論 0 0