最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何發(fā)布自已pip項目的方法步驟

 更新時間:2018年10月09日 09:44:50   作者:woodcol  
這篇文章主要介紹了python如何發(fā)布自已pip項目的方法步驟,方便大家學習,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

因為自已平時會把一個常用到邏輯寫成一個工具python腳本,像關于時間字符串處理,像關于路徑和文件夾遍歷什么的工具。每一次新建一個項目的時候都要把這些工具程序復制到每個項目中,換一個電腦后還要從github生新下載后再復制到項目中,實在太麻煩。最后想想,還是建一個自已的pip項目會比較好。

環(huán)境準備

要用 pip 發(fā)布 python 程序,首先當然是要安裝 Python 和 pip 這兩個軟件了,以 Ubuntu 16.04 為例:

$ sudo apt update 
$ sudo apt install -y python python-pip

CentOS 和 RedHat 因為 RPM 體系需要依賴于 python,更是默認就安裝好了。

另外發(fā)布 Pypi,還需要安裝一個發(fā)布工具, twine ,以及其所依賴的 setuptools、wheel:

$ sudo pip install --upgrade twine setuptools wheel

好,到這環(huán)境就已經就緒了。

第一步:注冊一個PyPi帳號

 PyPi注冊網站

在上邊的注冊網站上注冊一個自已的帳號,注冊好后在郵箱激活,一般注冊流程都是這么操作了,這里就不多說了。

第二步:在github上創(chuàng)建一個項目

如果你還沒有使用過github源碼托管網站,可以先注冊一個github的帳戶再創(chuàng)建項目,我一般創(chuàng)建項目用的是官網提供的桌面工具Github Desktop.

Github Desktop的下載地址:https://desktop.github.com

github注冊和創(chuàng)建新項目,這里也不說了,程序員的基本功。

第三步:編寫自已的python項目

我這里只有一個timetool.py和pathtool.py兩個文件

詳情可以查看我的示例項目: https://github.com/fengmm521/pipProject

先建一個目錄,比如magetool,這個里邊放的是你的項目代碼

在這個magetool目錄里,新建一個__init__.py,這個文件里可以什么都不用寫,然后就是你要發(fā)布的.py文件

第四步:編寫setup.py文件

這里重點說明一下這個setup.py文件,因為整個pip項目的發(fā)布和上傳都是基于這個setup.py文件完成的。

大家可以看一下我示例項目的setup.py是怎么寫的,其實我也是從網上下載別人寫好的。

#!/usr/bin/env python
#-*- coding:utf-8 -*-

#############################################
# File Name: setup.py
# Author: mage
# Mail: mage@woodcol.com
# Created Time: 2018-1-23 19:17:34
#############################################


from setuptools import setup, find_packages

setup(
  name = "magetool",
  version = "0.1.0",
  keywords = ("pip", "pathtool","timetool", "magetool", "mage"),
  description = "time and path tool",
  long_description = "time and path tool",
  license = "MIT Licence",

  url = "https://github.com/fengmm521/pipProject",
  author = "mage",
  author_email = "mage@woodcol.com",

  packages = find_packages(),
  include_package_data = True,
  platforms = "any",
  install_requires = []
)

setup.py中重要的參數有5個:

1.name

name = “magetool”,這個name參數后邊的就是你的項目代碼所在目錄,也是你pip要上傳的項目名稱,其他人用pip install xxx來安裝時,后邊的xxx就是你的這個magetool

2.version

version = “0.1.0”,你工具的版本號,后期你工具更新了,要用pip來更新包的時候,會更新比當前版本號高的新版本。

下邊是pip 更新包的命令

pip install --upgrade <包的名字>
pip install -U <包的名字>12

3.packages

packages = find_packages(),這個參數是導入目錄下的所有__init__.py包

4.install_requires

install_requires = [],這是一個數組,里邊包含的是咱的pip項目引用到的第三方庫,如果你的項目有用到第三方庫,要在這里添上第三方庫的包名,如果用的第三方版本不是最新版本,還要有版本號。

第五步:打包自已的項目

在代碼編寫完成,自已測試后沒有問題了,就可以打包了。

打包使用下邊兩個命令:

我使用的是第二個

$ python setup.py bdist_egg   # 生成類似 edssdk-0.0.1-py2.7.egg,支持 easy_install 
$ python setup.py sdist     # 生成類似 edssdk-0.0.1.tar.gz,支持 pip12

兩個命令打包好之后都會生成build和dist兩個目錄,打包的文件會放在dist目錄下,供后邊上傳到PyPi服務器

第六步:上傳到PyPi服務器

在上傳前,要建一個文件,$HOME/.pypirc,$HOME目錄在linux或者mac系統下就是~/目錄。在這里建一個.pypirc文件。里邊的內容如下:

[distutils]
index-servers = pypi

[pypi]
username:你的PyPi用戶名
password:你的PyPi密碼
~  

因為不能使用python setup.py register進行上傳,使用這個上傳會報一個410的錯誤。所以要使用.pypirc文件保存你的PyPi用戶信息,這時使用下載的twine就可以直接上傳了。

在別的地方找到的有說上傳用python setup.py sdist upload命令,但在我這里用這個命令也會一直失敗,所以我用下邊的命令上傳打包好的pip項目,我上傳的是用第五步的,python setup.py sdist命令打包好的項目,

上傳好打包的pip安裝包:

twine upload dist/magetool-0.1.0.tar.gz1

第七步:使用pip安裝剛剛上傳的包

pip安裝包我這里就不多說了,這個一般用python的都會的

用pip安裝上傳的包:

pip install magetool --user

–user參數的意思是安裝給當電腦的當前用戶,要不然會要求系統管理員權限才能安裝。加了–user之后就不用sudo的管理員權限了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python使用pika庫調用rabbitmq參數使用詳情

    python使用pika庫調用rabbitmq參數使用詳情

    這篇文章主要介紹了python使用pika庫調用rabbitmq參數使用詳情,文章通過展開文章主題分享了三種方式,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • 用Python進行屏幕錄制的實現

    用Python進行屏幕錄制的實現

    關于屏幕錄制這個功能需求,之前用過基于ffmpeg的Capture錄屏軟件,但是fps拉高以后會變得很卡,聲音也同樣出現卡頓,所以本文給大家介紹了用Python進行屏幕錄制的實現,感興趣的朋友可以參考下
    2024-04-04
  • python如何實現常用的五種排序算法詳解

    python如何實現常用的五種排序算法詳解

    排序有很多種實現方法,比如冒泡排序、選擇排序、歸并排序、希爾排序、快速排序、插入排序、堆排序、基數排序等,這篇文章主要給大家介紹了關于python如何實現常用的五種排序算法,需要的朋友可以參考下
    2021-08-08
  • python os.rename實例用法詳解

    python os.rename實例用法詳解

    在本篇文章里小編給大家整理的是一篇關于python os.rename實例用法詳解內容,有需要的朋友們可以學習下。
    2020-12-12
  • Python 安裝 virturalenv 虛擬環(huán)境的教程詳解

    Python 安裝 virturalenv 虛擬環(huán)境的教程詳解

    這篇文章主要介紹了Python 安裝 virturalenv 虛擬環(huán)境的教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 一文掌握Python爬蟲XPath語法

    一文掌握Python爬蟲XPath語法

    這篇文章主要介紹了一文掌握Python爬蟲XPath語法,xpath是一門在XML和HTML文檔中查找信息的語言,可用來在XML和HTML文檔中對元素和屬性進行遍歷,XPath 通過使用路徑表達式來選取 XML 文檔中的節(jié)點或者節(jié)點集。下面會更學習的介紹,需要的朋友可以參考一下
    2021-11-11
  • python實現列車管理系統

    python實現列車管理系統

    這篇文章主要為大家詳細介紹了python實現列車管理系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 詳解Python中的相對導入和絕對導入

    詳解Python中的相對導入和絕對導入

    絕對導入是指跳過包內,直接搜索 sys.path ,在sys.path的基礎上進行我們的模塊搜索。相對導入是指先包內,再包外,再,,,那么下面這篇文章主要給大家介紹了Python中的相對導入和絕對導入,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • Python實現刪除列表首元素的多種方式總結

    Python實現刪除列表首元素的多種方式總結

    在Python中,處理列表的操作是日常開發(fā)中不可避免的任務之一,其中,刪除列表中的元素是一個常見的需求,本文為大家整理了Python中刪除列表中的第一個元素的多種方法,需要的可以參考下
    2023-12-12
  • python基礎教程之循環(huán)介紹

    python基礎教程之循環(huán)介紹

    這篇文章主要介紹了python基礎教程之循環(huán)介紹,本文講解了for循環(huán)、while循環(huán)、中斷循環(huán)等python的基礎知識,需要的朋友可以參考下
    2014-08-08

最新評論

宁武县| 汪清县| 苗栗市| 新疆| 永仁县| 开江县| 宜宾县| 万盛区| 赣榆县| 陕西省| 宣汉县| 图们市| 台州市| 池州市| 明光市| 丰城市| 集安市| 东山县| 定结县| 深水埗区| 巴塘县| 凤翔县| 孝昌县| 海口市| 龙岩市| 墨江| 巴南区| 宣汉县| 比如县| 蒲江县| 峨边| 原阳县| 石屏县| 印江| 土默特左旗| 临城县| 水富县| 平潭县| 沾化县| 鸡西市| 尼木县|