用自己的python,用自己的名字設計頭像

本文目錄一覽:

如何將自己的Python代碼打包發佈到pypi上

什麼是pypi

簡單的說pypi是一個python包的倉庫,裏面有很多別人寫好的python庫,你可以通過easy_install或者pip進行安裝,方便用戶更方面的使用你的代碼模塊。

將代碼打包並上傳到pypi上,大體上分為以下幾步:

1、整理代碼的目錄結構,方便打包和python的import,為了方便引用,需要將代碼模塊變成一個包,所以需要將功能代碼用目錄來整合方便引用,並且需要創建__init__文件,__init__中可以沒有內容,也可以在__init__文件中進行import(from .extractor import Document)操作,以減少整體模塊引用時import的層數,避免錯誤。

[html] view plain copy

├── ./tidypage  

│   ├── ./tidypage/cleaners.py  

│   ├── ./tidypage/extractor.py  

│   ├── ./tidypage/__init__.py  

│   └── ./tidypage/titles.py

2、功能模塊的目錄整理好後,就可以開始整理和添加發佈到pypi上所使用的文件了

tidy_page  

├── LICENSE  

├── README.rst  

├── requirements.txt  

├── setup.py  

├──tidypage  

│   ├──cleaners.py  

│   ├──extractor.py  

│   ├──__init__.py  

│   └──titles.py

就是將原來的目錄深移一層,文件夾名稱可以根據自己意願。然後在到第一層的目錄下創建些特殊文件,具體你可以看看下面這個文件結構你就明白了

LICENSE文件是授權文件,比如:MIT license, APACHE license

README.rst 文件想必大家都不陌生,其實就是項目介紹和使用說明

setup文件才是重點,是python模塊安裝所需要的文件,它的格式如下:

#!/usr/bin/env python  

from __future__ import print_function  

from setuptools import setup, find_packages  

import sys  

  

setup(  

    name=”tidy-page”,  

    version=”0.1.1″,  

    author=”Desion Wang”,  

    author_email=”wdxin1322@qq.com”,  

    description=”html text parser,get the content form html page”,  

    long_description=open(“README.rst”).read(),  

    license=”MIT”,  

    url=””,  

    packages=[‘tidypage’],  

    install_requires=[  

        “beautifulsoup4”,  

        lxml_requirement  

        ],  

    classifiers=[  

        “Environment :: Web Environment”,  

        “Intended Audience :: Developers”,  

        “Operating System :: OS Independent”,  

        “Topic :: Text Processing :: Indexing”,  

        “Topic :: Utilities”,  

        “Topic :: Internet”,  

        “Topic :: Software Development :: Libraries :: Python Modules”,  

        “Programming Language :: Python”,  

        “Programming Language :: Python :: 2”,  

        “Programming Language :: Python :: 2.6”,  

        “Programming Language :: Python :: 2.7”,  

    ],  

)

NAME 名字,一般放你包的名字即可PACKAGES 包含的包,可以多個,這是一個列表DESCRIPTION 關於這個包的描述LONG_DESCRIPTION 參見read方法說明KEYWORDS 關於當前包的一些關鍵字,方便PyPI進行分類。AUTHOR 誰是這個包的作者,寫誰的名字吧AUTHOR_EMAIL 作者的郵件地址URL 你這個包的項目地址,如果有,給一個吧,沒有你直接填寫在PyPI你這個包的地址也是可以的VERSION 當前包的版本,這個按你自己需要的版本控制方式來LICENSE 授權方式INSTALL_REQUIRES 模塊所依賴的python模塊

文中的classifiers的內容並不是隨便填寫的,你需要參照本文參考文檔中的PyPI Classifiers來寫

3、開始使用Distutils進行打包

為了保證效果,在打包之前我們可以驗證setup.py的正確性,執行下面的代碼

python setup.py check

輸出一般是running check如果有錯誤或者警告,就會在此之後顯示沒有任何顯示錶示Distutils認可你這個setup.py文件。

如果沒有問題,那麼就可以正式打包,執行下面的代碼:

python setup.py sdist

執行完成後,會在頂層目錄下生成dist目錄和egg目錄

tidy_page  

├── tidy_page/dist  

│   ├── tidy_page/dist/tidy-page-0.1.0.tar.gz  

│   └── tidy_page/dist/tidy-page-0.1.1.tar.gz  

├── tidy_page/LICENSE  

├── tidy_page/README.rst  

├── tidy_page/setup.py  

├── tidy_page/tidypage  

│   ├── tidy_page/tidypage/cleaners.py  

│   ├── tidy_page/tidypage/extractor.py  

│   ├── tidy_page/tidypage/__init__.py  

│   └── tidy_page/tidypage/titles.py  

├── tidy_page/tidy_page.egg-info  

│   ├── tidy_page/tidy_page.egg-info/dependency_links.txt  

│   ├── tidy_page/tidy_page.egg-info/PKG-INFO  

│   ├── tidy_page/tidy_page.egg-info/requires.txt  

│   ├── tidy_page/tidy_page.egg-info/SOURCES.txt  

│   └── tidy_page/tidy_page.egg-info/top_level.txt

4、打包完成後就可以準備將打包好的模塊上傳到pypi了,首先你需要在pypi上進行註冊 goto PyPI Live

註冊完成後,你需要在本地創建好pypi的配置文件,不然有可能會出現使用http無法上傳到pypi的問題

Create a .pypirc configuration file,在用戶的home目錄下創建.pypirc文件,文件的內容如下

[distutils]index-servers =  pypi[pypi]repository=

chmod 600 ~/.pypirc

python setup.py register -r pypi

在pypi上註冊模塊

python setup.py sdist upload -r pypi

上傳python文件包,沒有問題你就可以在pypi上看到你上傳的包了並且可以使用pip搜索和install你的python包了

如何讓自己的 python 代碼更有逼格

遵循python之禪的規範

使用lamda表達式

使用函數式編程

python之禪:

優美勝於醜陋(Python 以編寫優美的代碼為目標)

明了勝於晦澀(優美的代碼應當是明了的,命名規範,風格相似)

簡潔勝於複雜(優美的代碼應當是簡潔的,不要有複雜的內部實現)

複雜勝於凌亂(如果複雜不可避免,那代碼間也不能有難懂的關係,要保持接口簡潔)

扁平勝於嵌套(優美的代碼應當是扁平的,不能有太多的嵌套)

間隔勝於緊湊(優美的代碼有適當的間隔,不要奢望一行代碼解決問題)

可讀性很重要(優美的代碼是可讀的)

即便假借特例的實用性之名,也不可違背這些規則(這些規則至高無上)

不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫 except:pass 風格的代碼)

當存在多種可能,不要嘗試去猜測

而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)

雖然這並不容易,因為你不是 Python 之父(這裡的 Dutch 是指 Guido )

做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量)

如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標準)

命名空間是一種絕妙的理念,我們應當多加利用(倡導與號召)

如何調用自己寫的python函數

首先將你寫的函數以.py的形式保存起來,如a. py(好像不能直接用數字),其中你寫的函數為function()。

然後在a.py的run-python Shell中輸入:

import a

a.function(objection)就可以了

如何創建自己的python包

用distutils製作自己的安裝包

看下面的例子:

mylib.py 文件

def add(x,y):

   return x+y

def division(x,y):

   return x/y

def mutiply(x,y):

   return x*y

def subtract(x,y):

   return x-y

def main():

   pass

if __name__ == ‘__main__’:

   main()

簡單的方法可以進入到mylib.py存放的目錄,然後import mylib就可以使用它提供的方法了。但是如果項目比較大,需要很多人協作的話,這樣就非常不方便。這時候可以使用distutils標準庫。於是我們可以在mylib.py同級目錄下再創建一個setup.py,它的內容如下:

from distutils.core import setup

setup(name=’mylib’,

version=’1.0′,

py_modules=[‘mylib’],

)

name是指定的包名,version是版本號,py_modules里包含需要安裝的python文件,本例中即為mylib.py文件。

編寫好setup.py後,就可以使用

python setup.py install

把它安裝到系統中了。

要把自己的安裝包上傳到PyPI上,從而像其他安裝包一樣可以試用easy_install 或 pip安裝的話,就需要遵循PEP241,給出足夠的元數據才行,比如對包的描述,作者的信息,授權方式,主頁等,具體的可以查詢文檔。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/183414.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:29
下一篇 2024-11-24 16:29

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論