python包管理工具總結

2021-07-30 18:11:12 字數 2262 閱讀 8656

常見的包管理工具包括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的取...