中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么將自己寫的模塊上傳到pypi

發布時間:2021-03-12 17:21:52 來源:億速云 閱讀:207 作者:TREX 欄目:開發技術

本篇內容介紹了“怎么將自己寫的模塊上傳到pypi”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

楔子

我們在安裝第三方包的時候,直接一個pip install xxx命令就搞定了,然后pip會去pypi上尋找我們要安裝的包,然后下載下來。

而pypi(Python Package Index )你可以看成是官方維護的一個大倉庫,專門用來存儲世界各地的程序員編寫的第三方模塊。我們使用pip進行安裝的時候就會去這個倉庫里面找,找到了進行下載,找不到就提示不存在。

當然我們在安裝的時候還可以指定清華源、豆瓣源,因為pypi在國外,下載有時候比較慢,而一旦指定了國內的源,那么就不會去pypi上下載了,所以你可以看成國內也有倉庫,專門負責搬運pypi里面的內容。

上傳模塊至pypi

總共分為三步:編寫模塊、編譯模塊、上傳模塊。

編寫模塊

我們看一下要上傳到pypi的模塊長什么樣子。

怎么將自己寫的模塊上傳到pypi

  • hanser-module-upload:項目的根目錄

  • hanser:模塊名,我們后面可以使用from hanser import xxx,或者import hanser

  • hanser下面的兩個py文件:相應的代碼

  • LICENSE:開源的 LICENSE,如:Apache License 2.0,MIT License 等等

  • README.md:關于項目的描述,描述如何安裝、使用等情況

  • setup.py:setuptools 的構建腳本

然后我們看看代碼長什么樣子。

# calc.py
def add(x: int, y: int) -> int:
 return x + y
 
 
def sub(x: int, y: int) -> int:
 return x - y
 
# __init__.py
from .calc import add, sub

然后最重要的就是編寫setup.py。

# setup.py 是一個 setuptools 的構建腳本,其中包含了項目和代碼文件的信息
# 如果沒有需要先安裝,pip install setuptools
import setuptools
 
setuptools.setup(
 # 項目的名稱
 name="anser-module-upload",
 #項目的版本
 version="0.0.1",
 # 項目的作者
 author="布諾妮亞",
 # 作者的郵箱
 author_email="hanser@baka.com",
 # 項目描述
 description="簡單的加減運算上傳測試",
 # 項目的長描述
 long_description="簡單的加減運算上傳測試",
 # 以哪種文本格式顯示長描述
 long_description_content_type="text/markdown", # 所需要的依賴 
 install_requires=[], # 比如["flask>=0.10"]
 # 項目主頁
 url="https://www.baidu.com",
 # 項目中包含的子包,find_packages() 是自動發現根目錄中的所有的子包。
 packages=setuptools.find_packages(),
 # 其他信息,這里寫了使用 Python3,MIT License許可證,不依賴操作系統。
 classifiers=[
  "Programming Language :: Python :: 3",
  "License :: OSI Approved :: MIT License",
  "Operating System :: OS Independent",
 ],
)

編譯

在上傳代碼之前,我們需要將代碼編譯。除了setuptools之外,我們還需要一個模塊wheel,如果沒有則需要安裝。

pip install --user --upgrade setuptools wheel

然后對我們的setup.py進行編譯。

python setup.py sdist bdist_wheel

編譯成功之后會在項目中生成多個目錄,其中有一個dist目錄是我們需要上傳的。

怎么將自己寫的模塊上傳到pypi

上傳

然后就是上傳了,我們需要前往(https://pypi.org/account/register/)注冊一個賬號,然后再安裝一個模塊:twine,因為上傳需要使用到它。

pip install --user --upgrade twine

安裝完成之后,就可以使用如下命令上傳 dist 文件夾里面的文件。

python -m twine upload --repository pypi dist/*

怎么將自己寫的模塊上傳到pypi

我們看到上傳成功,下面去頁面看一下。

怎么將自己寫的模塊上傳到pypi

注意:這里為了區分,我們把根目錄名和模塊名取得不一樣,我們需要pip install hanser-module-upload,然后在site-packages下面會有一個hanser目錄,也就是我們所使用的模塊。但是一般情況下,這兩者都是一樣的。比如:我們安裝pandas,那么得到的模塊也叫做pandas。

下面就來試一試吧:

怎么將自己寫的模塊上傳到pypi

成功安裝,當然也是可以使用的。

怎么將自己寫的模塊上傳到pypi

以后如果我們自己寫了一個比較不錯的模塊的時候,就可以發布到pypi上面。

“怎么將自己寫的模塊上傳到pypi”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵竹市| 台东县| 瑞安市| 土默特右旗| 辛集市| 沾益县| 柳河县| 吉木乃县| 铜鼓县| 兴和县| 鹿泉市| 宝兴县| 高唐县| 滨海县| 渝北区| 台北县| 方正县| 常山县| 新干县| 新田县| 攀枝花市| 白水县| 德格县| 新乐市| 醴陵市| 烟台市| 凤阳县| 平定县| 泾源县| 湘乡市| 东乌珠穆沁旗| 峡江县| 灵石县| 庆阳市| 永兴县| 大丰市| 河北区| 田林县| 石景山区| 乐平市| 千阳县|