常見的包管理工具包括distutils,setuptools,pip,virtualenv。
通過distutils來打包,生成安裝包,安裝python包等工作,需要編寫名為setup.py python指令碼檔案。如下**:
from distutils.core import setup setup( name = "testpackage", version = "1.0", description = "distutils sample distribution testpackage", packages = ['testpackage'] )
通過上述**可以進行打包或生成安裝檔案,並能進行安裝
1.打包:python setup.py sdist
2.安裝:python setup.py install
3.windows下安裝檔案exe(在windows下才能生效):python setup.py bdist_wininst
4.linux下rpm安裝檔案(在有rpm環境下才能生效):python setup.py sdist_rpm
進行打包,和生成windows下可執行檔案後,如下圖所示:
注:只用於安裝包,不用於打包。
文件:easy_install 包名==版本號 安裝第三方包
easy_install --help 來檢視命令詳情
注:只用於安裝包,不用於打包。
目標是取代easy_install。easy_install 有很多不足: 安裝事務是非原子操作, 只支援 svn, 沒有提供解除安裝命令, 安裝一系列包時需要寫指令碼; pip 解決了以上問題, 已儼然成為新的事實標準, virtualenv 與它已經成為一對好搭檔;
使用:安裝: pip install [package_name]
公升級:pip install -u [package_name]
解除安裝: pip uninstall [package_name]
查詢包: pip search [package_name]
列出安裝的包及其版本:pip freeze
檢視幫助:pip help
通過使用==, >=, <=, >, 《來指定乙個版本號
用來建立隔離的python環境,處理python環境的多版本和模組依賴。在預設安裝下virtualenv安裝的是setuptools而不是distribute,如果想安裝distribute需要使用--distribute引數:python virtualenv.py --distribute。
安裝完後在python_home的scripts目錄下有virtualenv.exe可執行檔案,使用virtualenv mysite,建立新的python環境mysite,並且已有pip和easy_install。
virtualenv [options] dest_dir
--version顯示當前版本號。
-h, --help顯示幫助資訊。
-v, --verbose顯示詳細資訊。
-q, --quiet不顯示詳細資訊。
-p python_exe, --python=python_exe指定所用的python解析器的版本,比如 --python=python2.5 就使用2.5版本的解析器建立新的隔離環境。 預設使用的是當前系統安裝(/usr/bin/python)的python解析器
--clear清空非root使用者的安裝,並重頭開始建立隔離環境。
--no-site-packages令隔離環境不能訪問系統全域性的site-packages目錄。
--system-site-packages令隔離環境可以訪問系統全域性的site-packages目錄。
--unzip-setuptools安裝時解壓setuptools或distribute
--relocatable重定位某個已存在的隔離環境。使用該選項將修正指令碼並令所有.pth檔案使用相當路徑。
--distribute使用distribute代替setuptools,也可設定環境變數virtualenv_distribute達到同樣效要。
--extra-search-dir=search_dirs用於查詢setuptools/distribute/pip發布包的目錄。可以新增任意數量的–extra-search-dir路徑。
--prompt==prompt定義隔離環境的命令列字首。
總結:
disutils、setuptools、distribute屬於一類,都是一組工具集,用於打包和安裝包。
easy_install和pip屬於一類,用於安裝包,它在disutils的基礎上增加了自動識別包依賴。
Python 包管理工具
如圖,可以看到distribute是setuptools的取代,pip是easy install的取代。核心目的是發布,即打包 生成安裝檔案等。disutils setuptools distribute python自帶模組,用於打包 生成安裝檔案 安裝包,需借助setup.py指令碼。distu...
包管理工具
參考 yum和apt get的區別 rpm命令詳解及和yum之間的關係 centos中rpm和yum到底有什麼區別?dpkg和apt get區別 dpkg 常用指令操作快速參考 yum和apt get常用命令 linux分類 一般著名的linux系統基本分成兩大類 1 redhat系列 redhat...
Python的包管理工具
剛開始學習python時,在看文件和別人的blog介紹安裝包有的用easy install,setuptools,有的使用pip,distribute,那麼這幾個工具有什麼關係呢,看一下下面這個圖就明白了 可以看到distribute是setuptools的取代,pip是easy install的取...