使用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...