Python 包的建立

itxq發表於2020-01-13

1.建立一個GitHub倉庫

https://github.com 網站建立即可

2.將程式碼 clone 到本地

git clone https://github.com/yourname/packagename.git
cd packagename

3.建立 setup.py 檔案 ,檔案內容應該類似下面這個樣子:

from os import path as os_path

from setuptools import setup, find_packages

this_directory = os_path.abspath(os_path.dirname(__file__))

# 讀取檔案內容

def read_file(filename):

with open(os_path.join(this_directory, filename), encoding='utf-8') as f:

long_description = f.read()

return long_description

# 獲取依賴

def read_requirements(filename):

return [line.strip() for line in read_file(filename).splitlines()

if not line.startswith('#')]

setup(

name='itxq_workflow', # 包名

python_requires='>=3.7.0', # python環境

version='1.0.0', # 包的版本

description="這裡是包的簡介", # 包簡介,顯示在PyPI上

long_description=read_file('README.md'), # 讀取的Readme文件內容

long_description_content_type="text/markdown", # 指定包文件格式為markdown

author="IT小強xqitw.cn", # 作者相關資訊

author_email='mail@xqitw.cn',

url='https://github.com/itxq/workflow-python',

# 指定包資訊,還可以用find_packages()函式

packages=find_packages(),

install_requires=read_requirements('requirements.txt'), # 指定需要安裝的依賴

include_package_data=True,

license="MIT",

keywords=['關鍵詞', '關鍵詞2', '關鍵詞23'],

classifiers=[

        'Intended Audience :: Developers',

        'License :: OSI Approved :: MIT License',

        'Natural Language :: English',

        'Programming Language :: Python :: 3.4',

        'Programming Language :: Python :: 3.5',

        'Programming Language :: Python :: 3.6',

        ],
)

4.建立專案包檔案,建立後,整個專案目錄結構應該類似於下面這個樣子:

.

├── packagename

│ ├── __init__.py

│ ├── a.py

│ └── b.py

├── LICENSE

├── README.md

└── setup.py

setup.py 會自動查詢專案根目錄下,包含檔案 __init__.py 的子目錄,作為專案的包,並以目錄名稱作為包名。當然不是必須建立一個同名的包,事實上,可以建立任意名稱的多個包。

5.生成原始碼分發包

python setup.py sdist

執行該命令之後,會生成一個haipproxy.egg-info資料夾,可以檢視其中的SOURCES.txt檔案,以確定是否所有需要的內容都已經被包括在待發布的包中

本作品採用《CC 協議》,轉載必須註明作者和本文連結
這不是一個 BUG,這只是一個未列出來的特性!

相關文章