使用setuptools打包python專案

2021-07-04 20:12:39 字數 2610 閱讀 6508

使用setuptools打包python scrapy程式

0、目標

開發機上(ubuntu14.04)有乙個bloomfilter演算法的簡單實現,使用setuptools對其進行打包發布。

1、安裝setuptools

sudo apt-get install python-setuptools

2、專案的目錄結構

因為使用scrapy建立的專案baidutieba,所以專案目錄結構如下:

demo

|--bloomfilter

|--__init__.py

|--bloomfilter.py

|--readme.txt

|--bf.pkl

其中,txt檔案是說明文件檔案,pkl檔案是乙個bloomfilter中的物件例項的pickle檔案。

3、建立setup.py檔案

在專案根目錄(demo)下建立檔案setup.py,內容如下:

from setuptools import setup, find_packages

setup(

name = "bloomfilter",

version = "0.1",

packages = find_packages(),

package_data =

)packages = find_packages()引數指定在當前目錄下搜尋包;

package_data定義了包含bloomfilter包中的txt檔案和pkl檔案。

4、將專案打包成egg檔案

執行命令:

python setup.py bdist_egg

命令執行成功後,專案目錄結構為:

demo/

|--bloomfilter/

|--__init__.py

|--bloomfilter.py

|--readme.txt

|--bf.pkl

|--bloomfilter.egg-info/

|--dependency_links.txt

|--pkg-info

|--sources.txt

|--top_level.txt

|--build/

|--bdist.linux-x86_64/

|--lib.linux-x86_64-2.7/

|--dist/

|--bloomfilter-0.1-py2.7.egg

|--setup.py

5、安裝專案

執行命令:

sudo python setup.py install

安裝過程會生成下面這個egg檔案:

/usr/local/lib/python2.7/dist-packages/bloomfilter-0.1-py2.7.egg

檢視egg中包含的檔案:

unzip -l bloomfilter-0.1-py2.7.egg

archive:  bloomfilter-0.1-py2.7.egg

length      date    time    name

---------  ---------- -----   ----

1  2015-08-25 15:45   egg-info/zip-safe

241  2015-08-25 15:45   egg-info/sources.txt

12  2015-08-25 15:45   egg-info/top_level.txt

183  2015-08-25 15:45   egg-info/pkg-info

1  2015-08-25 15:45   egg-info/dependency_links.txt

932  2015-08-25 14:23   bloomfilter/bloomfilter.py

1255  2015-08-25 14:57   bloomfilter/bf.pkl

0  2015-08-25 15:38   bloomfilter/readme.txt

2762  2015-08-25 15:45   bloomfilter/bloomfilter.pyc

0  2015-08-25 14:24   bloomfilter/__init__.py

139  2015-08-25 15:45   bloomfilter/__init__.pyc

---------                     -------

5526                     11 files

可以看到所有檔案全部打包成功了。

6、測試

進入python命令列,直接使用安裝過的包:

7、其他參考

python使用setuptools打包egg

作為python標準的打包及分發工具,setuptools可以說相當得簡單易用。相面記錄一下python如何利用setuptools進行分發打包。方式一 通過python安裝 方式二 yum 安裝 yum install python setuptools建立乙個setup demo目錄 mkdir...

setuptools 將專案打包

步驟一 安裝setuptools pip install setuptools步驟二 檢視專案結構 步驟三 在專案根目錄下建立setup.py檔案 from setuptools import setup,find packages setup name 名稱 version 版本號 package...

使用setuptools自動安裝python模組

setuptools絕對是個好東西,它可以自動的安裝模組,只需要你提供給它乙個模組名字就可以了,並且自動幫你解決模組的依賴問題。一般情況下用setuptools給安裝的模組會自動放到乙個字尾是.egg的目錄裡,下面看看怎麼用setuptools。之後安裝模組的使用方法就是使用乙個叫easy inst...