怎樣將自己寫的包傳達到pypi
發布你自己的輪子 - pypi打包上傳實踐
pypi官網上傳包教程
wheel和egg都是python的打包格式,目的是支援不需要編譯或製作的安裝過程,實際上也是一種壓縮檔案,將.whl的字尾改為.zip即可可看到壓縮包裡面的內容。按照官網說法,wheels是發行版python的新標準並且要取代.egg。
egg格式是由setuptools在2023年引入,而wheel格式是由pep427在2023年定義。 wheel現在被認為是python的二進位製包的標準格式。
以下是wheel和egg的主要的不同點:
setup.py引數介紹:
參考:printtest.py
將以上.py檔案做成python模組,需要在相同目錄下建立setup.py檔案,setup.py中輸入配置資訊:def
test
(): print('print test')
開啟終端,定位到該資料夾下,輸入:from setuptools import setup
setup(name='printtest',
version='1.0',
py_modules=['printtest'],
)
python setup.py sdist
此時在目錄中生成dist資料夾,資料夾中有testpg-1.0.tar.gz檔案,使用者安裝的話只需要testpg-1.0.tar.gz檔案即可。將此檔案解壓得到testpg-1.0資料夾,會發現該資料夾有我們剛剛書寫的3個py檔案,還有乙個pkg-info,開啟該檔案,會顯示該模組的具體資訊:由於我們沒有設定,所以為unkown
終端定位到此資料夾下,輸入以下命令,模組將會被安裝到直譯器對應的lib/site-packages目錄下:metadata-version: 1.0
name: printtest
version: 1.0
summary: unknown
home-page: unknown
author: unknown
author-email: unknown
license: unknown
description: unknown
platform: unknown
python setup.py install
安裝後,會發現lib/site-packages目錄下存在printtest.py檔案和printtest-1.0-py3.6.egg-info
應用:
輸出:import printtest
printtest.test()
print test
匯入單個python檔案時成為python模組,而包含多個python檔案的資料夾成為乙個python包。本節主要講述怎樣封裝乙個python包。
1.建立乙個資料夾,將需要封裝的pagtest資料夾(裡面為.py檔案,需要包括乙個__init__.py
檔案,內容可以為空)放到該資料夾中,然後建立setup.py檔案對包進行配置:
2.建立readme.txt檔案用於對檔案的安裝以及使用資訊做描述from setuptools import setup
setup(name='pagtest',
version='1.0.0',
description='a print test for pypi',
author='winycg',
author_email='win@163.com',
url='',
license='mit',
keywords='ga nn',
project_urls=,
packages=['pagtest'],
install_requires=['numpy>=1.14', 'tensorflow>=1.7'],
python_requires='>=3'
)
3.目前資料夾的目錄的架構為:
輸入以下命令進行打包,製作source distribution(源**發布包),此命令將會把所有內容在dist/目錄打包為pagtest-1.0.0.tar.gzpagtest/
__init__.py
print1.py
print2.py
setup.py
readme.txt
python setup.py sdist
4.上傳到pypi上。上傳時,可以建立乙個賬戶驗證檔案~/.pypirc(windows不可以,因為檔案命名中含有非法字元),也可以在上傳時輸入賬戶和密碼。
5.將命令列定位到此資料夾下,輸入命令對dist目錄下的pagtest-1.0.0.tar.gzt包進行上傳,twine為python包需要安裝:[distutils]
index-servers=pypi
[pypi]
repository =
username =
password =
twine upload dist/*
wheel是乙個已經編譯好的包,在安裝時不需要編譯過程,安裝whl檔案時要比發布的原始檔安裝要快。
在如上第2步後,輸入如下命令即可在生成.whl
python setup.py bdist_wheel
.whl檔案在dist目錄下,上傳到pypi:
twine upload dist/*
修改setup.py中的版本號,然後直接上傳即可 Pypi專案包發布
用過python的人肯定對pip安裝不陌生,pip安裝的包的 都是在pypi上。為了能隨時能使用自己的包,所以嘗試一下將自己的包發布到pypi上。一 建立目錄結構 如果沒有輸出任何錯誤,則說明格式正確。打tar.gz格式的包 安裝上傳包環境 pip install twine發布包到pypi,輸入建...
Pypi專案包發布
用過python的人肯定對pip安裝不陌生,pip安裝的包的 都是在pypi上。為了能隨時能使用自己的包,所以嘗試一下將自己的包發布到pypi上。一 建立目錄結構 如果沒有輸出任何錯誤,則說明格式正確。打tar.gz格式的包 安裝上傳包環境 pip install twine發布包到pypi,輸入建...
構建和發布Python模組到PyPI
建立要發布的模組資料夾 構建乙個發布檔案 開啟命令終端 cd 到資料夾位置,然後輸入命令python setup.py sdist回車,此時python模組已經構建完成。註冊pypi賬戶 第一次在pypi上發布專案,需要先註冊pypi賬戶。上傳專案到pypi 在命令列輸入以下命令twine uplo...