Python的setup模組介紹

2021-09-19 14:39:02 字數 2207 閱讀 1533

假如我在本機開發乙個程式,需要用到python的redis、mysql模組以及自己編寫的redis_run.py模組。我怎麼實現在伺服器上去發布該系統,如何實現依賴模組和自己編寫的模組redis_run.py一起打包,實現一鍵安裝呢?同時將自己編寫的redis_run.py模組以exe檔案格式安裝到python的全域性執行路徑

from setuptools import setup, find_packages  

setup(

name = "test",

version = "1.0",

keywords = ("test", "***"),

description = "eds sdk",

long_description = "eds sdk for python",

license = "mit licence",

url = "",

author = "test",

author_email = "[email protected]",

packages = find_packages(),

include_package_data = true,

platforms = "any",

install_requires = ,

scripts = ,

entry_points =

)

setup.py各引數介紹:其實我們可以將包統一放在乙個src目錄中,另外,這個包內可能還有aaa.txt檔案和data資料資料夾。另外,也可以排除一些特定的包

find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"])
–install_requires = [「requests」] 需要安裝的依賴包

–entry_points 動態發現服務和外掛程式,下面詳細講

下列entry_points中:console_scripts 指明了命令列工具的名稱;在「redis_run = redisrun.redis_run:main」中,等號前面指明了工具包的名稱,等號後面的內容指明了程式的入口位址。

entry_points=
這裡可以有多條記錄,這樣乙個專案就可以製作多個命令列工具了,比如:

setup(

entry_points =

from setuptools import setup

'''把redis服務打包成c:\python27\scripts下的exe檔案

'''setup(

name="redisrun", #pypi中的名稱,pip或者easy_install安裝時使用的名稱

version="1.0",

author="andreas schroeder",

author_email="[email protected]",

description=("this is a service of redis subscripe"),

license="gplv3",

keywords="redis subscripe",

url="",

packages=['drqueue'], # 需要打包的目錄列表

# 需要安裝的依賴

install_requires=[

'redis>=2.10.5',

],# 新增這個選項,在windows下python目錄的scripts下生成exe檔案

# 注意:模組與函式之間是冒號:

entry_points=,

# long_description=read('readme.md'),

classifiers=[ # 程式的所屬分類列表

"development status :: 3 - alpha",

"topic :: utilities",])

專案結構圖,打包的就是這個目錄

參考自:

Python之requests模組相關介紹

在之前的文章中我們一直用到的庫是 urllib.request,該庫已經包含了平常我們使用的大多數功能,但是它的 api 使用起來讓人感覺不太好,而 requests 自稱 http for humans 說明使用更簡潔方便。requests 唯一的乙個非轉基因的 python http 庫,人類可...

python使用setup打包

python打包筆記 打包命令 python setup.py sdist 打包後會生成乙個tar.gz檔案,然後使用pip install直接安裝這個檔案即可。setup函式中的name引數指定包的名字,但是僅是安裝時和顯示時的名字,真正使用時要匯入包還是要匯入原來檔案結構下那個包。如果包含set...

python中random模組中的函式介紹

1 random.random 用於生成乙個0到1的隨機浮點數 2 random.uniform a,b 用於生成乙個指定範圍內的隨機浮點數,且不受a b位置影響。3 random.randint a,b 生成乙個指定範圍內的整數,必須滿足a b 4 random.randrange start s...