日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pypi.python.org_在Pypi上发布自己的Python包

發布時間:2024/9/27 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pypi.python.org_在Pypi上发布自己的Python包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Python編程的都知道,Python的包安裝非常的方便,一般都是可以pip來安裝搞定:

sudo pip install

最近因為項目上的需要,發布了一個自己的pypi Python包,這里我大致分享如何發布自己的Pypi包一般過程。

打包工作主要依賴python的一個叫setuptools的包來完成,在進行下面操作前請使用pip安裝它:

sudo pip install setuptools

(這里面我都是假設你已經準備好你的代碼,測試代碼以及目錄結構,加上我今天要分享的,就可以組成一個完整的python包)

1. 第一步,就是到pypi(https://pypi.python.org/pypi)上注冊自己的用戶, 點擊“Register”,填寫自己的用戶名,密碼,郵件地址后,就成功了。

記住自己的用戶名和密碼,后面上傳的時候要輸入的

2. 準備setup.py/setup.conf文件,它是放在你包的根目錄的,這一步至關重要,包括要發布的包名字,版本,license,描述,特性(classifier)等等,下面是我自己包的一個setup.py文件的內容,基本上只需要在這個上面修改就行了,具體如下:

#!/usr/bin/env python#coding=utf-8

from setuptools importsetup, find_packages

setup(

name='',

version=,

description=(''),

long_description=open('README.rst').read(),

author='',

author_email='',

maintainer='',

maintainer_email='

license='BSD License',

packages=find_packages(),

platforms=["all"],

url='',

classifiers=['Development Status :: 4 - Beta','Operating System :: OS Independent','Intended Audience :: Developers','License :: OSI Approved :: BSD License','Programming Language :: Python','Programming Language :: Python :: Implementation','Programming Language :: Python :: 2','Programming Language :: Python :: 2.7','Programming Language :: Python :: 3','Programming Language :: Python :: 3.4','Programming Language :: Python :: 3.5','Programming Language :: Python :: 3.6','Topic :: Software Development :: Libraries'],

)

需要注意的上面的字段:

version - 這個簡單,就是包的發布的版本,可以直接寫在這,也可以從其他地方引用過來。

long_description - 必須是rst(reStructuredText )格式的,因為這個里面的內容是顯示在pypi包首頁上,具體rst的語法可以參考:http://rest-sphinx-memo.readthedocs.io/en/latest/ReST.html

我的long_description是同目錄下的README.rst的內容,同時這個README也是我的github項目首頁。

packages - 申明你的包里面要包含的目錄,比如 ?['mypackage', 'mypackage_test']可以是這種使用我的示例,讓setuptools自動決定要包含哪些包

install_requires - 申明依賴包,安裝包時pip會自動安裝:格式如下(我上面的setup.py沒有這個參數,因為我不依賴第三方包:)):

install_requires=['Twisted>=13.1.0','w3lib>=1.17.0','queuelib','lxml','pyOpenSSL','cssselect>=0.9','six>=1.5.2','parsel>=1.1','PyDispatcher>=2.0.5','service_identity',

]

3. 準備requirements.txt 和 test-requirements.txt,這個申明包的依賴包和跑自動化測試的測試依賴包,具體格式示例如下:

mock>=2.0.0

flake8>=3.2.1eventlet>=0.19.0

nose2>=0.6.5cov_core>=1.15.0

virtualenv>=15.1.0

以上是我的test-requirements.txt的內容,requirements.txt的格式個上面一樣。

準備這個兩個文件不是必須的。

但是,有了它們,用戶可以自己手動安裝依賴包

pip install -r requirements.txt

有了它們,結合tox等工具,可以非常方便的加入自動化測試。

4. 準備一個項目的README.rst文件,前面也提到了它的格式要求,第一次發包,可以直接copy別人的格式,這東西熟能生巧,多寫就會了。

5. 準備好上面的步驟,一個包就基本完整了,剩下的就是打包了(cd到包的根目錄):

可以使用下面命令打包一個源代碼的包:

python setup.py sdist build

這樣在當前目錄的dist文件夾下,就會多出一個以tar.gz結尾的包了:

也可以打包一個wheels格式的包,使用下面的命令搞定:

python setup.py bdist_wheel --universal

這樣會在dist文件夾下生成一個whl文件,

6. 上傳生成的包,可以使用setuptools,或者twine上傳,推薦使用twine上次,因為使用setuptools上傳時,你的用戶名和密碼是明文或者未加密傳輸,安全起見還是使用twine吧

# 上傳source 包

python setup.py sdist upload

# 上傳pre-compiled包

python setup.py bdist_wheel upload

使用twine上傳,先安裝twine

sudo pip installtwine

twine upload dist/*

上次前都會提示你前面注冊的用戶名和密碼。一切搞定,你的包現在可以通過pip在任何地方安裝了。

后續

其實對于一個包,你要長久維護,自動測試肯定要加入,后面有時間再分享下如何使用tox的使用和與第三方CI的集成。

引用鏈接:

pypi詳細教程:?https://packaging.python.org/distributing

總結

以上是生活随笔為你收集整理的pypi.python.org_在Pypi上发布自己的Python包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。