PyPI
Python包索引(Python Package Index, PyPI)爲Internet上的第三方Python模塊提供了一個集中的存儲庫,我們平時pip install的Python庫都來自這個存儲庫,我們也可以將自己寫好的模塊上傳到PyPI上面開源,讓世界上所有的人都能看到你的python模塊。
爲了測試,我寫了一個能完成經緯度轉換爲地理位置的小小demo(用的geopy庫),代碼如下:
from geopy.geocoders import Nominatim
"""author :longlong
purpose :practice
the function of the module:input latitude,and then convert latitude to location """
def print_position(lat,lng):
geolocator = Nominatim()
location = geolocator.reverse(str(lat)+','+str(lng),timeout=None)
print(location.address)
print_position函數有兩個參數,分別是緯度和經度,功能是打印出所對應的地理信息。
準備發佈
爲了共享創建的這個模塊,需要準備一個發佈(distribution)的環境。python中,所謂的distribution是指一個文件集合,這些文件聯合在一起允許你構建、打包和發佈你的模塊。
1. 新建一個文件夾,命名爲lat_to_pos
2. 在lat_to_pos中創建一個setup.py文件,代碼是你的個人信息以及模塊信息,以上述代碼爲基準的setup.py代碼如下:
from distutils.core import setup
setup(
name = 'lat_to_pos',
version = '1.0.0',
py_modules = ['lat_to_pos'],
author = 'longlong',
author_email = '[email protected]',
url = 'http://www.sunlainglong.cn',
description = 'convert latitude to location',
)
構建發佈
1. 在lat_to_pos文件夾中打開一個終端窗口,鍵入命令:python setup.py sdist
- lat_to_pos
- bulid
- lib
- lat_to_pos.py - dist
- lat__to_pos-1.0.0.tar.gz 發佈包 - MANIFEST 包含發佈中的文件列表
- lat_to_pos.py python模塊
- setup.py 元數據
- bulid
並且,現在就可以本地導入模塊使用了,代碼如下: