當前位置:首頁 » 編程語言 » yumpython27

yumpython27

發布時間: 2025-02-11 01:34:17

1. 伺服器操作系統應該選擇 Debian/Ubuntu 還是 CentOS

著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:彭勇
鏈接:http://www.hu.com/question/19599986/answer/13723064
來源:知乎

早期,我們使用 Debian 作為伺服器軟體,後來轉向了CentOS,主要原因如下:

1、CentOS/RHEL的生命周期是7年,基本上可以覆蓋硬體的生命周期,也就意味著一個新硬體安裝以後,不用再次安裝操作系統。要知道重新折騰一個生產機是很麻煩而且有風險的事情。

[2012.2.1]今天剛剛收到紅帽子的通知郵件,RedHat 5, RedHat 6的生命周期,延長到10年,太牛叉了。這個對企業用戶很重要。

而Debian的生命周期是不固定的,一般新版本發布以後,上個版本再維護18個月。而Debian的版本發布時間間隔不穩定,經常會延期。綜合起來一個版本的生命周期一般在3~4年。

[2014.4.24]Debian 宣布對Squeeze(6.0),提供5年的LTS長期支持。

Ubuntu的LTS版生命周期是5年。

如果你選用了 Debian 或者 Ubuntu作為伺服器,等生命周期過了以後,就沒有安全補丁,你的伺服器就會裸奔或者需要重新安裝系統。

2、RedHat是一個值得尊敬的開源公司,長期以來linux內核RedHat的貢獻程度都是最多的。可以這么說,如果一個Linux方面的問題,RedHat搞不定,那麼也很少有其他公司可以搞定了。公司有一批Linux內核方面的如雷貫耳的大牛,比如:

Alan Cox - Core developer, numerous contributions
Ingo Molnar - x86 subsystem maintainer
Al Viro - VFS subsystem maintainer, linux內核貢獻第二多的個人
David Miller - Sparc Port maintainer, linux網路部分開發者, linux內核貢獻最多的個人
Jeff Garzik - Sata subsystem maintainer
John Linville - Wireless subsystem maintainer
Stephen Tweedie - Ext3 filesystem developer
Eric Sandeen - XFS, Ext4 filesystem developer
Josef Bacik - Btrfs filesystem developer
Rik Van Riel - VM developer
Ric Wheeler - Filesystem developer
Val Henson - Filesystem developer
Dave Jones - Fedora kernel maintainer
Kyle McMartin - Fedora kernel maintainer
Chuck Ebbert - Fedora kernel maintainer
Eric Paris - LSM/SELinux/Audit/Capabilities maintainer
Eugene Teo - Security Response
Kay Sievers - Hotplug

3、CentOS/RHEL對硬體的支持很好,主流硬體廠商早就將伺服器拿過去測試,一般不存在硬體的兼容性問題。

而Debian就麻煩了,由於有版權上的考慮和代碼純潔性上的潔癖,一些硬體驅動和軟體被刪掉了,導致安裝過程有問題。比如 Dell 伺服器上,大量使用的網卡 BroadCom,就驅動不了,安裝了以後,網路起不來。

4、大量商業軟體,比如 Oracle ,都是針對 Redhat認證的,有大量的幫助文檔和使用說明,有良好的技術支持。出了問題,也容易在網上找到類似的答案和經驗。

5、CentOS 是RedHat的克隆版,如果需要可以隨時平滑切換到 RedHat,從而享受RedHat的服務支持。要知道廠商的服務,是最後一道防火牆,如果你給一個大客戶做方案,他們一般會傾向選用商業服務。萬一出了什麼問題,還有Redhat可以求助,或者有一個RedHat可以承擔責任 :-)

6、如果你是一個工程師,熟悉了 CentOS/RedHat ,找工作更加容易。如果你是一個企業老闆,相對也容易招聘到熟悉CentOS/RedHat的工程師。RHCE的培訓,也相對較完善,認同程度高。

7、CentOS/RHEL 的批量安裝更加方便

在機房,使用kickstart + PXE安裝,給客戶,使用定製的kickstart光碟,一鍵安裝,一般在5分鍾左右就可以安裝完。

上述3,4,5,6幾點中,都說明CentOS/RHEL相對於其他Linux操作系統,有相對完整的生態環境,很多公司在CentOS/RHEL投入了大量資源,積累了大量經驗,綁定了自己的利益,這個是CentOS/RHEL得以長期良好發展的保證。

=============
補充對評論的一些回復

1. 所謂的「centos穩定性非常差」,不知道你指的是什麼?能否舉一些CentOS不穩定的例子?至少我們用了這么多年CentOS,穩定性上可以說是堅如磐石的。如果是你說的由於yum升級造成的混亂,那隻能說明你對centos不熟悉。
2、RHEL/centos 對於一些新的軟體的支持,採用 SCL的方式支持,比如ruby193,python27, python 33, php 54, nodejs 0.10, mariadb55, postgresql 9.2
AdditionalResources/Repositories/SCL
3、debian/ubuntu 同樣存在版本穩定和程序太老的矛盾,比如他們的LTS版本,一般是兩年多更新一次。squeeze是2011年2月發布,wheezy是2013年5月發布,如果你在2013年4月使用Debian,你會發覺好多軟體太老,比如:
內核:2.6.32,和Centos 6 一樣的
glibc 還是使用的2.11.2
mysql使用的5.1.49
openjdk使用的是 6
php使用的是 5.3.3
python使用的是2.6.6

下一個版本的Deiban,至少要到 2015年下半年才能發布,而RHEL7/CentOS7的正式版發布在即,裡面用到的不少軟體,都比wheezy的要新。按照你的邏輯,在接下來較長的時間里,是否CentOS比起Debian更加前衛?

再看看Rio的回復:「之前我用了很長一段時間的 Debian,但它的更新實在太慢了(好幾年啊有木有!)」,呵呵

4、「debian的支持時間也非常長期」,這個最近確實有了改善,Debian剛剛宣布對 Debian 6.0 有了5年的LTS長期支持。可以這么說,Debian也看到了LTS的重要性,向CentOS學習了一把。
Debian -- News -- Long term support for Debian 6.0 Announced

但Debian做得還不夠,因為Debian的LTS在後續版本,比如 Debian 7 (wheezy), Debian 8 (jessie) 里的支持政策還不明朗:
Debian -- Security Information -- DSA-2907-1

Debian的LTS支持,也不是Debian 官方安全團隊維護的,而是由其他志願者維護的,工作效率和質量是否有保證還不知道。相比RHEL明晰的發展策略和安全更新策略,有10年的安全補丁保證,還有不少差距。

5、「debian這個系列的軟體包也比較新,debian和他兒子ubuntu很多軟體包維護是共享的,更新速度非常快」,不知道你使用的是穩定版還是測試版。穩定版裡面你是如何看到軟體包「更新速度非常快」的。

2. ansible-playbook瀹夎呭湪鍝涓鐩褰

銆pip2.6瀹夎匒nsible錛屼絾鏄痯ip2.6鏄鍩轟簬python2.6瀹夎呯殑錛岃宲ython2.6鐗堟湰鏈夌偣鑰併傛墍浠ヨ屽凡鐢╬ython2.7瀹夎匒nsible銆
銆銆鍏跺疄python2.7瀹夎匒nsible鍜宲ython2.6瀹夎呰繃紼嬪熀鏈涓婃槸涓鏍風殑錛屽彧涓嶈繃鍦ㄥ畨瑁匒nsible鎵闇瑕佺殑妯″潡鍜孉nsible鏃訛紝闇瑕佺敤pip2.7鏉ュ畨瑁呫
銆銆瀹夎呰繃紼嬪備笅錛
銆銆1銆佸畨瑁卲ython2.7
銆銆瀹夎卲ython2.7鍓嶇殑鍑嗗
銆銆yum-yinstallreadlinereadline-devel
銆銆yum-yinstallzlib-devel
銆銆yum-yinstallopensslopenssl-devel
銆銆瀹夎単cc緙栬瘧宸ュ叿
銆銆yum-yinstallgcc
銆銆涓嬭澆python2.7瀹夎呭寘
銆銆涓嬭澆鍦板潃錛歸ww python.org
銆銆yum-yinstallxz
銆銆tarJxfPython-2.7.11.tar.xz
銆銆cdPython-2.7.11
銆銆mkdir/usr/local/python27
銆銆./configure--prefix=/usr/local/python27
銆銆make&&makeinstall
銆銆鍒涘緩杞榪炴帴
銆銆ln-s/usr/local/python27/bin/python2.7/usr/bin/python2.7
銆銆2銆佸畨瑁卲ip2.7
銆銆瀹夎卻etuptools
銆銆涓嬭澆鍦板潃錛歨ttps//pypi.python.org/pypi?%3Aaction=search&term=setuptools&submit=search
銆銆瀹夎咃細
銆銆tarzxfsetuptools-19.6.2.tar.gz
銆銆cdsetuptools-19.6.2
銆銆python2.7setup.pyinstall
銆銆瀹夎卲ip
銆銆涓嬭澆鍦板潃錛歨ttps//pypi.python.org/pypi/pip/
銆銆瀹夎咃細
銆銆tarzxfpip-8.1.0.tar.gz
銆銆cdpip-8.1.0
銆銆python2.7setup.pyinstall
銆銆鍒涘緩杞榪炴帴
銆銆ln-s/usr/local/python27/bin/pip2.7/usr/bin/pip2.7
銆銆3銆佸畨瑁匒nsible
銆銆瀹夎呬緷璧栧寘
銆銆yum-yinstalllibffilibffi-devel
銆銆yum-yinstallgccgcc-c++python-develpython-simplejson
銆銆瀹夎匒nsible闇瑕佺殑python妯″潡
銆銆pip2.
銆銆瀹夎匒nsible
銆銆pipinstallansible
銆銆瀹夎呭畬鎴愬悗錛宎nsible鐨勬墽琛屾枃浠跺湪python2.7鐨刡in鐩褰曚笅
銆銆[root@localhostbin]#cd/usr/local/python27/bin/
銆銆[root@localhostbin]#ll
銆銆total6240
銆銆-rwxr-xr-x.1rootroot110Jun1517:312to3
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible-console
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible-doc
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible-galaxy
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible-playbook
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible-pull
銆銆-rwxr-xr-x.1rootroot4203Jun1517:48ansible-vault
銆銆-rwxr-xr-x.1rootroot326Jun1517:41easy_install
銆銆-rwxr-xr-x.1rootroot334Jun1517:41easy_install-2.7
銆銆-rwxr-xr-x.1rootroot108Jun1517:31idle
銆銆-rwxr-xr-x.1rootroot284Jun1517:42pip
銆銆-rwxr-xr-x.1rootroot286Jun1517:42pip2
銆銆-rwxr-xr-x.1rootroot290Jun1517:42pip2.7
銆銆-rwxr-xr-x.1rootroot93Jun1517:31pydoc
銆銆lrwxrwxrwx.1rootroot7Jun1517:33python->python2
銆銆lrwxrwxrwx.1rootroot9Jun1517:33python2->python2.7
銆銆-rwxr-xr-x.1rootroot6271354Jun1517:31python2.7
銆銆-rwxr-xr-x.1rootroot1696Jun1517:33python2.7-config
銆銆lrwxrwxrwx.1rootroot16Jun1517:33python2-config->python2.7-config
銆銆lrwxrwxrwx.1rootroot14Jun1517:33python-config->python2-config
銆銆-rwxr-xr-x.1rootroot18556Jun1517:31smtpd.py
銆銆緙栬緫/etc/profile鏂囦歡錛屽姞鍏ヤ互涓嬮厤緗
銆銆exportANSIBLE_HOME=/usr/local/python27
銆銆exportPATH=$PATH:$ANSIBLE_HOME/bin[root@localhostbin]#ansible--version
銆銆ansible2.1.0.0
銆銆configfile=
銆銆configuredmolesearchpath=Defaultw/ooverrides

3. yum python版本 怎麼查看

yum info python27
yum info python3
當然,如果你已經安裝的話,直接在終端運行 python,就可以看到版本了。

4. 如何在centos下更改默認版本的python

1 centos安裝python2.75 (centos6.3)
1 切換到root用戶
2 下載tar包
[python] view plain print?
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
3 安裝
[python] view plain print?
tar -zxvf Python-2.7.5.tgz

cd Python-2.7.5

./configure --prefix=/usr/local/python27

make&&make install
也可以在configure之後執行 make altinstall 來防止替換掉默認的python版本
補充:有些時候還是會缺少某些c模塊
[python] view plain print?
yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel zlib-devel readline-devel bzip2-devel

4 測試下安裝好了么
[python] view plain print?
/usr/local/python27/bin/python
可以看到python可以使用了 版本是2.7.5
5 設置軟體鏈接
[python] view plain print?
ln -s /usr/local/python27/bin/python /usr/bin/python27
以後就可以直接使用 python27來使用2.7.5版本了

2 設置為默認的版本
[python] view plain print?
mv /usr/bin/python /usr/bin/python-old

ln -s /usr/local/python27/bin/python /usr/bin/python
再測試一下:

[python] view plain print?
[root@bogon Python-2.7.5]# python
Python 2.7.5 (default, Jul 22 2013, 22:14:28)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "right", "credits" or "license" for more information.
這樣在使用yum的時候會發現報錯了
從新配置下yum
[python] view plain print?
vim /usr/bin/yum
把第一行修改為:#!/usr/bin/python-old
再次輸入yum 發現可以正常顯示了
這個時候還沒有easy_intall和pip ,可以這么安裝
[python] view plain print?
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
sudo /usr/local/bin/python2.7 ez_setup.py
sudo /usr/local/bin/easy_install-2.7 pip

在安裝東西的時候最好不要用 python xx這么執行,/usr/local/bin/python2.7 這種方式更明確的裝到某個python版本更好一些。

5. pip安裝失敗Python包管理工具pip的安裝和使用

我們都知道python有海量的第三方庫或者說模塊,這些庫針對不同的應用,發揮不同的作用。我們在實際的項目中,或多或少的都要使用到第三方庫,那麼如何將他人的庫加入到自己的項目中內呢?

打個電話?大哥你好,想用下你那個庫,麻煩給郵箱發個源碼唄!顯然這是個笑話。Python官方的PyPi倉庫為我們提供了一個統一的代碼託管倉庫,所有的第三方庫,甚至你自己寫的開源模塊,都可以發布到這里,讓全世界的人分享下載。當然,除了Python官方的倉庫,也有一些其他公司提供的倉庫,還有一些私有的或針對內部的倉庫。

有了統一的管理倉庫,那麼我們是不是就可以從上面下載源碼進行安裝了?原則上是的,只不過由於使用源碼安裝比較繁瑣,容易出錯,也不夠簡便,因此出現了wheel文件格式,類似zip或rar文件,並提供專用的安裝工具,幫助我們更快更簡便的安裝。pip就是這個工具!它能幫助我們自動從倉庫上下載並安裝第三方庫,同時將該庫所依賴的而本地沒有安裝的庫一並安裝。

由於歷史的原因,Python有兩個著名的包管理工具easy_install和pip。在Python2.7的安裝包中,easy_install是默認安裝的,而pip需要我們手動安裝。隨著Python版本的提高,easy_install已經逐漸被淘汰,但是一些比較老的第三方庫,在現在仍然只能通過easy_install進行安裝。目前,pip已經成為主流的安裝工具,自Python2 >=2.7.9或者Python3.4以後默認都安裝有pip。

就如同Python有2、2.7、3、3.6一樣,pip也有pip、pip2、pip3之分。pip是從屬於Python的,對應的pip負責給對應的Python安裝第三方模塊。我們不要關心pip後面跟的數字,核心的問題是這個pip命令對應的是哪個Python解釋器,一個蘿卜一個坑,想要為哪個Python解釋器安裝第三方庫,就要調用它名下對應的pip。

那麼如何確定哪個pip是哪個Python的呢?

cmd環境中,輸入pip -V(大寫V):

注意提示中的Python路徑和版本!搞清楚了這點,你就不會搞錯了pip。

安裝pip

那麼,如果很不巧,你的Python版本下恰好沒有pip這個工具,怎麼辦呢?解決辦法很多!

    使用easy_install安裝: 各種進入到easy_install腳本的目錄下,然後運行easy_inatall pip使用get-pip.py安裝: 在下面的url下載get-pip.py腳本 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 然後運行:python get-pip.py 這個腳本會同時安裝setuptools和wheel工具。在linux下使用包管理工具安裝pip: 例如,ubuntu下:sudo apt-get install python-pip。Fedora系下:sudo yum install python-pip在windows下安裝pip: 在C:python27scirpts下運行easy_install pip進行安裝。

剛安裝完畢的pip可能需要先升級一下自身: 在Linux或masOS中:pip install -U pip 在windows中:python -m pip install -U pip

pip的基礎使用

在命令行下,輸入pip,回車可以看到幫助說明:

1. 普通安裝再次強調,使用pip前請務必確認其所對應的Python解釋器必須是你想要的那個!

以安裝pillow模塊為例。輸入pip install pillow,安裝過程如下圖:

2. 指定版本安裝

安裝特定版本的package,通過使用==, >=, , <來指定一個版本號。 pip install 'Markdown2.0,<2.0.3

3. 卸載已安裝的庫

pip uninstall pillow

4. 列出已經安裝的庫

pip list

5. 將已經安裝的庫列表保存到文本文件中

pip freeze > requirements.txt

這個功能非常常用、好用!經常被用作項目環境依賴文件。

6. 根據依賴文件批量安裝庫

pip install -r requirements.txt

使用上面的txt文件,批量安裝第三方庫。

7. 使用wheel文件安裝

除了使用上面的方式聯網進行安裝外,還可以將安裝包也就是wheel格式的文件,下載到本地,然後使用pip進行安裝。比如我在PYPI上提前下載的pillow庫的wheel文件,後綴名為whl。

可以使用pip install pillow-4.2xxxxxxx.whl的方式離線進行安裝

pip源的選擇

很多時候,比如網路不給力,連接超時、防火牆阻擋等等各種原因,我們可能無法從Python官方的PyPi倉庫進行pip安裝,這時候可以選擇國內的第三方源。

使用方法:

pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pillow

需要注意的是,除了最後的pillow用你所期望的庫名替代外,前面的參數都是固定寫法,包括參數順序。

6. Windows如何安裝pip

python的一些模塊可以用pip來進行安裝,相當於linux下的yum命令很方便,模塊不需要手動去編譯安裝
pip是依賴python的,首先檢查下windows機器上有沒有安裝python,或者有沒有添加到環境變數中,如果都沒有需要安裝或者加入環境變數

下載並安裝python,選擇和自己操作系統匹配的版本進行下載,我這里下載的是Windows 64位 2.7.14,有很多模塊不支持python3,所以還是選擇python2.x中最新也是最後一個版本。

配置好python的環境變數,將python的安裝路徑C:\Python27配置在path中即可

安裝pip,將pip的tar包下載到本地並解壓,這個tar.gz格式的是windows和linux通用的包,在Windows下用常規的解壓工具即可解壓,下載地址如下 https://pypi.python.org/pypi/pip#downloads

進入到pip的解壓目錄,執行python setup.py install進行安裝,安裝完成之後出現finished說明安裝成功

執行pip命令的提示找不到這個命令,需要將pip的安裝路徑加入到環境變數中,路徑一般為python所在目錄的Scripts目錄中

下圖是環境變數添加成功之後,執行pip list成功,現在pip已經安裝成功了,可以用來安裝python的一些模塊了

熱點內容
c反編譯工具re 發布:2025-02-11 10:26:37 瀏覽:673
光遇安卓怎麼能加到ios 發布:2025-02-11 10:20:16 瀏覽:690
優勢存儲 發布:2025-02-11 10:20:14 瀏覽:362
光貓wifi怎麼改密碼 發布:2025-02-11 10:17:51 瀏覽:167
web和伺服器怎麼寫通訊 發布:2025-02-11 10:08:06 瀏覽:979
安卓升級後手機變卡怎麼辦 發布:2025-02-11 09:58:01 瀏覽:113
土工資料庫 發布:2025-02-11 09:48:55 瀏覽:963
libxml2編譯 發布:2025-02-11 09:48:45 瀏覽:745
java類的復制 發布:2025-02-11 09:48:45 瀏覽:601
127小時ftp 發布:2025-02-11 09:47:10 瀏覽:852