假如我在本機開發乙個程式,需要用到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...