導航:首頁 > 編程語言 > python構建發布

python構建發布

發布時間:2023-01-17 18:09:31

A. python構建發布報錯

不是很清楚嗎?它告訴你是語法錯誤啊,還指出了在 setup.py 的第5行的 version = '1.0.0', 上有語法問題,你打開源碼看一下就知道錯在哪了

B. 如何設計結構清晰的 Python 工程目錄結構

1. 使用專業的項目構建發布工具來構建項目目錄. 如 buildout . 其目錄結構絕對比自己創建來的漂亮.
2. log目錄最好不要放到項目里
3. 缺少 setup.py
4. 缺少 requirements.txt

C. 如何將python開發的程序打包發布

1、下載並安裝py2exe,可下載最新版本。

2、編寫安裝腳本,比較簡單,不過多解釋,如下:

Screenshot_setup.py

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

from distutils.core import setup
import py2exe

includes = ["encodings", "encodings.*"]
data_files = ['CameraDll.dll']
options = {"py2exe":
{ "compressed": 1,
"optimize": 2,
"bundle_files": 1,
"includes": includes

}
}

setup(
version = "1.0",
description = "Screenshot Tool",
name = "Screenshot Tool",
options = options,
zipfile=None,
data_files = data_files,
console=[{"script": "Screenshot.py", "icon_resources": [(1, "Screenshot.ico")] }]
)
各參數含義見第5小節或執行python命令行下執行help(py2exe)查看。

3、打包程序:

a、將要找包的程序、文件和打包腳本放在同一目錄下,如下:

E:\tmp\pyexe_tmp>tree /F
文件夾 PATH 列表
卷序列號碼為 0007F240 101F:F68D
E:.
CameraDll.dll
screenshot.ico
Screenshot.py
screenshot_setup.py
沒有子文件夾

E:\tmp\pyexe_tmp>
b、執行打包腳本:
E:\tmp\pyexe_tmp>python screenshot_setup.py py2exe
python screenshot_setup.py py2exe
running py2exe
creating E:\tmp\pyexe_tmp\build
creating E:\tmp\pyexe_tmp\build\bdist.win32
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\collect-2.6
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\bundle-2.6
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\temp
creating E:\tmp\pyexe_tmp\dist
*** searching for required moles ***
*** parsing results ***
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
writing byte-compilation script 'e:\tmp\tmp1ecbcw.py'

D. Python模塊發布構建安裝到Python本地副本中,在終端鍵入 sudo python3 setup.py install。無法識別sudo

聽你描述問題的習慣,似乎你在看一本外省的書。 sudo的確是linux的習慣。在windows下沒有。也許mac ios里有。 如果你安裝了linux工具到windows,則sudo 也可以有。 或者是你安裝cygwin到windows下。在cygwin里。sudo沒有。但是大部分linux命令都有。

將sudo 去掉就可以了,另外你需要將python3的執行路徑放以系統的環境變數path里。這樣就容易自動找到python3了。

在windows環境里,python3的安裝目錄是開放的,所以不需要象linux下那樣,一定要sudo獲得超級用戶許可權。

E. 如何將自己的Python代碼打包發布到pypi上

[html]viewplain
├──./tidypage
│├──./tidypage/cleaners.py
│├──./tidypage/extractor.py
│├──./tidypage/__init__.py
│└──./tidypage/titles.py
tidy_page
├──LICENSE
├──README.rst
├──requirements.txt
├──setup.py
├──tidypage
│├──cleaners.py
│├──extractor.py
│├──__init__.py
│└──titles.py
#!/usr/bin/envpython
from__future__importprint_function
fromsetuptoolsimportsetup,find_packages
importsys

setup(
name="tidy-page",
version="0.1.1",
author="DesionWang",
author_email="[email protected]",
description="htmltextparser,getthecontentformhtmlpage",
long_description=open("README.rst").read(),
license="MIT",
url="https://github.com/desion/tidy_page",
packages=['tidypage'],
install_requires=[
"beautifulsoup4",
lxml_requirement
],
classifiers=[
"Environment::WebEnvironment",
"IntendedAudience::Developers",
"OperatingSystem::OSIndependent",
"Topic::TextProcessing::Indexing",
"Topic::Utilities",
"Topic::Internet",
"Topic::SoftwareDevelopment::Libraries::PythonMoles",
"ProgrammingLanguage::Python",
"ProgrammingLanguage::Python::2",
"ProgrammingLanguage::Python::2.6",
"ProgrammingLanguage::Python::2.7",
],
)
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
chmod600~/.pypirc
pythonsetup.pyregister-rpypi

F. 干貨分享!Python基礎教程

1.解釋Python


編程語言通常分為兩類- 解釋語言和編譯語言。



_編譯語言_是指使用編譯器事先將源代碼編譯為可執行指令的_語言_(例如Java)。以後,這些合規指令可以由運行時環境執行。


_解釋語言_是指不應用中間編譯步驟並且可以將源代碼直接提供給運行時環境的語言。在此,_源代碼到機器代碼的轉換_是在程序執行的同時發生的。意味著,任何用python編寫的源代碼都可以直接執行而無需編譯。


2. Python很簡單


Python主要是為了強調代碼的可讀性而開發的,它的語法允許程序員用更少的代碼行來表達概念。


根據語言中可用關鍵字的簡單性粗略衡量,Python 3有33個關鍵字,Python 2有31個關鍵字。相比之下,C ++有62個關鍵字,Java有53個關鍵字。Python語法提供了一種易於學習和易於閱讀的簡潔結構。


3.與其他語言比較


· Python使用_換行符來完成一條語句_。在其他編程語言中,我們經常使用分號或括弧。


· Python依靠縮進(使用空格)來定義范圍,例如循環,函數和類。為此,其他編程語言通常使用花括弧。


4.用途和好處


Python可用於快速原型製作或可用於生產的軟體開發。以下列表列出了python的一些流行用法。


· Python有一個龐大而健壯的標准庫,以及許多用於開發應用程序的有用模塊。這些模塊可以幫助我們添加所需的功能,而無需編寫更多代碼。


· 由於python是一種解釋型高級編程語言,它使我們無需修改即可在多個平台上運行相同的代碼。


· Python可用於以程序樣式,面向對象樣式或功能樣式編寫應用程序。


· Python具有分析數據和可視化等功能,可幫助創建用於_大數據分析,機器學習和人工智慧的_自定義解決方案。


· Python還用於機器人技術,網頁抓取,腳本編寫,人臉檢測,顏色檢測和3D應用程序中。我們可以使用python構建基於控制台的應用程序,基於音頻的應用程序,基於視頻的應用程序,企業應用程序等。


以上就是關於Python基礎教程的相關分享,希望對大家有所幫助,想要了解更多相關內容,歡迎及時關注本平台!

G. python - Poetry介紹

一、簡介
Poetry 是一個Python 中的好用的包管理工具。在 Python 中,打包系統和依賴管理非常復雜:一個項目經常要同時創建多個文件,例如:

setup.py
requirements.txt
setup.cfg
MANIFEST.in
Pipfile
基於此, poetry 將所有的配置都放置在一個 toml 文件中,包括:依賴管理、構建、打包、發布等,可謂是簡單方便。

二、安裝
Poetry 要求 Python 版本為 2.7 或者 3.5+。Poetry 官方提供了一個腳本,可以快速方便地進行安裝。

osx / linux / bashonwindows 安裝:

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
windows powershell 安裝:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py -UseBasicParsing).Content | python -
Poetry 會被安裝在系統中的如下位置:

$HOME/.local/bin Unix系統
%APPDATA%PythonScripts Windows系統
然後把路徑添加到系統變數 PATH 中,即可使用 poetry 命令調用:

poetry --version

卸載:

python install-poetry.py --uninstall
POETRY_UNINSTALL=1 python install-poetry.py
如果你想要改變安裝的默認路徑,可以設置 POETRY_HOME :

POETRY_HOME=/etc/poetry python install-poetry.py
除了官方的安裝腳本,也可以使用 pipx 或者 pip 進行安裝:

pipx install poetry
pipx upgrade poetry
pipx uninstall poetry
pip install --user poetry

更新:

poetry self update

三、基礎使用
在已有項目中執行:

poetry init
該命令創建了一個pyproject.toml 文件。你可以手動修改 pyproject.toml 文件添加依賴,然後運行:

poetry install
也可以執行 add 命令安裝具體某個模塊並自動添加到 pyproject.toml:

$ poetry add xxxx
默認情況下,poetry會在 {cache-dir}/virtualenvs 下創建虛擬環境,你也可以手動修改該配置項,或者在 pyproject.toml 配置[virtualenvs.in-project] 在你的項目目錄中創建虛擬環境。

你可以使用 run 命令在虛擬環境中運行腳本:

poetry run python your_script.py
或者直接激活你的虛擬環境,新建一個 shell 運行:

poetry shell
只安裝dependencies :

poetry install --no-root
更新所有鎖定版本的依賴:

poetry update

四、命令選項
全局選項:

--verbose (-v|vv|vvv): "-v" 正常輸出, "-vv" 詳細輸出 "-vvv" debug
--help (-h) : 幫助信息
--quiet (-q) : 不輸出任何信息
--ansi: 強制 ANSI 輸出
--no-ansi: 禁止ANSI 輸出
--version (-V): 顯示版本
--no-interaction (-n): 禁止交互詢問

NEW:

poetry new my-package
創建項目模板,項目結構如下所示:

my-package
├── pyproject.toml
├── README.md
├── my_package
│ └── init .py
└── tests
└── init .py

init:創建pyproject.toml文件 。

install:讀取pyproject.toml並安裝依賴,它具有如下這些選項:

--without: 忽略依賴
--with: 安裝可選的依賴
--only: 只安裝指定的依賴
--default: 只安裝默認的依賴
--sync: 同步鎖定的版本至環境中
--no-root: 不安裝根依賴包
--dry-run: 輸出操作但不執行
--extras (-E): 安裝額外的包

update:升級包

poetry update
不指定任何包時,更新所有,也可以指定升級包:

poetry update requests toml
它具有如下選項:

--dry-run : 輸出操作但不執行
--no-dev : 不按照開發依賴
--lock : 只更新鎖定不安裝

add: 添加依賴並安裝

限制范圍:

poetry add penlum@^2.0.5
poetry add "penlum>=2.0.5"
它具有如下選項:

--group (-D): 分組
--editable (-e): 添加到編輯模式
--extras (-E): 添加額外的依賴
--optional: 添加至可選依賴
--python: 指定python版本
--platform: 指定操作系統
--source: 使用源名稱安裝
---allow-prereleases: 接受 prereleases 安裝
--dry-run: 輸出操作但不執行
--lock: 只更新鎖定不安裝

remove:移除依賴

它具有如下選項:

--group (-D): 分組
--dry-run : 輸出操作但不執行

show:列出所有的可安裝的包

如果你想看具體某個包的信息:

poetry show penlum

name : penlum
version : 1.4.2
description : Python datetimes made easy

dependencies:

--without: 忽略依賴
--with: 同時顯示
--only: 只顯示指定的依賴
--default: 只顯示默認的
--no-dev: 不顯示開發的依賴
--tree: 以樹狀形式顯示
--latest (-l): 展示最新的版本
--outdated (-o): 顯示最新版本,但僅適用於過時的軟體包

build:構建

publish:發布

config:配置項

使用方法:

poetry config [options] [setting-key] [setting-value1] ... [setting-valueN]
它具有如下選項:

--unset: 刪除配置項
--list: 展示現在的配置

run:在虛擬環境中執行命令

shell:激活虛擬環境

check:檢查pyproject.toml文件

search:搜索遠程包

lock:鎖定版本

version:顯示版本

export:導出鎖定的文件為其他的格式

poetry export -f requirements.txt --output requirements.txt
它具有如下選項:

--format (-f): 轉換的格式,暫時只支持requirements.txt
--output (-o): 輸出文件名字
--dev: 包括開發的依賴
--extras (-E): 額外的依賴
--without-hashes: 忽略哈希
--with-credentials: 包括合格證書

env:與虛擬環境進行交互

cache:緩存

顯示緩存列表:

poetry cache list
清除緩存:

poetry cache clear pypi --all

plugin:插件

安裝插件:

poetry plugin add poetry-plugin
顯示插件列表:

poetry plugin show
移除插件:

poetry plugin remove poetry-plugin

source: 倉庫源

添加源:

poetry source add pypi-test https://test.pypi.org/simple/
顯示倉庫源列表:

poetry source show
移除:

poetry source remove pypi-test

五、配置
你可以運行config命令進行配置,或者直接修改config.toml文件,這個文件通常位於:

macOS: ~/Library/Application Support/pypoetry
Windows: C:Users<username>AppDataRoamingpypoetry
Unix~/.config/pypoetry
可以使用--local命令對具體項目進行配置:

poetry config virtualenvs.create false --local
配置項:

cache-dir緩存目錄
installer.parallel並行安裝
virtualenvs.create如果不存在,則新建一個虛擬環境
virtualenvs.in-project在項目根目錄創建虛擬環境
virtualenvs.path虛擬環境路徑
virtualenvs.options.always-復制源文件還是創建鏈接到虛擬環境
virtualenvs.options.system-site-packages虛擬環境獲得系統包的許可權
repositories.<name>設置一個新的可選倉庫

六、依賴配置
依賴的配置有很多種寫法:

版本限制:

尖括弧:^1.2 代表 >=1.2.0 <2.0.0
波浪號:~1.2.3 代表 >=1.2.3 <1.3.0
星號:1.* 代表 >=1.0.0 <2.0.0

使用git倉庫:

[tool.poetry.dependencies]
requests = { git = " https://github.com/requests/requests.git " }
使用本地路徑:

[tool.poetry.dependencies]

my-package = { path = "../my-package/", develop = false }

my-package = { path = "../my-package/dist/my-package-0.1.0.tar.gz" }
使用URL:

[tool.poetry.dependencies]

my-package = { url = " https://example.com/my-package-0.1.0.tar.gz " }
python限制:

[tool.poetry.dependencies]
pathlib2 = { version = "^2.2", python = "~2.7" }
環境限制:

[tool.poetry.dependencies]
pathlib2 = { version = "^2.2", markers = "python_version ~= ƈ.7' or sys_platform == 'win32'" }

組合:

[tool.poetry.dependencies]
foo = [
{version = "<=1.9", python = "^2.7"},
{version = "^2.0", python = "^3.4"}
]

如果限制很多,寫成一行不方便閱讀,可以寫成多行:

[tool.poetry.group.dev.dependencies]
black = {version = "19.10b0", allow-prereleases = true, python = "^3.6", markers = "platform_python_implementation == 'CPython'"}
寫成多行後:

[tool.poetry.group.dev.dependencies.black]
version = "19.10b0"
allow-prereleases = true
python = "^3.6"
markers = "platform_python_implementation == 'CPython'"

分組功能:

[tool.poetry.group.test.dependencies]
pytest = "^6.0.0"
pytest-mock = "*"
例如以上,就建立了一個test的組合的依賴。

下面這兩種寫法是等價的:

[tool.poetry.dev-dependencies]
pytest = "^6.0.0"
pytest-mock = "*"
或者:

[tool.poetry.group.dev.dependencies]
pytest = "^6.0.0"
pytest-mock = "*"
以上兩種寫法都聲明了一個dev的組的依賴。

聲明組合是可選的,這在具體的環境中有的特定的用途時很有用:

[tool.poetry.group.docs]
optional = true

[tool.poetry.group.docs.dependencies]
mkdocs = "*"

添加依賴到組中:

poetry add pytest --group test

同步依賴,只使用poetry.lock中的依賴,移除其他不是必須的依賴:

poetry install --sync

七、環境管理
Poetry可以為項目使用獨立的虛擬環境,而不是使用系統安裝的。

切換環境:

poetry env use /full/path/to/python
poetry env use python3.7
poetry env use system
顯示當前激活的環境信息:

poetry env info
運行命令會輸出如下信息:

Virtual environment
Python: 3.7.1
Implementation: CPython
Path: /path/to/poetry/cache/virtualenvs/test-O3eWbxRl-py3.7
Valid: True

System
Platform: darwin
OS: posix
Python: /path/to/main/python
列出所有的虛擬環境列表:

poetry env list
刪除環境:

poetry env remove /full/path/to/python
poetry env remove python3.7
poetry env remove 3.7
poetry env remove test-O3eWbxRl-py3.7

H. 自學python,書上有個地方不懂,求解一下

右鍵點擊你的文件夾,點屬性,就可以看到文件夾的路徑
然後在Windows的開始菜單里,輸入cmd,點運行,就出現終端了
在終端中輸入cd,空格,再輸入文件夾路徑,就把當前目錄設置為你的文件夾了

然後就可以使用python了。可以使用絕對路徑,就是你python的安裝目錄路徑加上可執行程序名字。或者你可以打開控制面板,選高級選項,再點環境變數按鈕,在對話框里把路徑加入path這個變數中,這樣你直接敲python就可以運行了。

總之,搞開發在Windows上是一件很麻煩的事。除了傻瓜式的編程環境外,要進階一點就要使用命令行,而Windows對命令行的支持是極差的。建議你在Linux環境下開發。

I. python怎麼製作新聞發布系統

就是對資料庫的增刪改查。。。

沒啥阿。。。

你用別的做過不? 不是一樣么。。

J. 如何發布一個Python命令行工具

本文的目的也是非常簡單:
寫一個Python命令行工具,並且發布到PIP上面.並且在這個過程中給出我自己的一些思考.
如何分解這個發布任務?
只需要進行如下的兩個步驟便可以:
1.寫好一個Python命令行工具.
2.發布它.
當然,這樣不夠細致.再細分一下.
1.寫好一個Python命令行工具
1.1.命令行的特點,以及Python的如何編寫命令行
1.2.如何組織代碼結構.
2.發布
2.1.注冊pypi賬戶
2.2.注冊在賬戶下面注冊Python包
2.3.上傳打包好的Python命令行工具.
3.完善代碼
1.寫好一個Python命令行工具
寫好一個命令行工具首先要知道命令行工具是什麼?
在我看來,命令行工具就是一種完成某種類型的任務的終端程序.
也就是基本上沒有什麼用戶界面的程序.
由於基本上沒有什麼用戶界面,所以導致單個命令行的交互能力及其低下.但這種低下的交互性對於一些固定工作而言,簡直就是最靈活的工具.只需要輸入一些命令便可以完成某種類型的工作.實在是方便的很.
所以,某種程度上,終端程序低交互的缺點反而成了優點.
1.1.Python的如何編寫一個簡單的命令行
對於Python和命令行交互,我們很容易想出一個比較方便的方案.
sys.argv就是這樣的嘛!
我們很容易這樣寫代碼.

1

python testargv.py thisisaargv1

甚至我們也可以這樣寫命令行,

1

python testargv.py thisisaargv1 -d -f 0

那麼,這樣寫的後果就是,不方便解析出(不是不能,是不方便) -d -f 0 以及 thisisaargv1.
不信的話,你解析一個下面場景的命令行試試,

1
2
3
4

# 用戶可能這樣輸入
danmu.fm -q 1 -v 2
danmu.fm -q 1 -v 2
# 當然,肯定還有漏寫啦,等等,你得需要轉類型,增加各種blablabla的描述吧,添加默認的參數值吧.

於是Python就提供了一個非常好用的模塊可以使用.叫做argparse.
上面的描述就變成了這個樣子

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

import argparse

APP_DESC="""
這就是描述
"""
print(APP_DESC)
if len(sys.argv) == 1:
sys.argv.append('--help')
parser = argparse.ArgumentParser()
parser.add_argument('-q','--quality',type=int,default=0,help="download video quality : 1 for the standard-definition; 3 for the super-definition")
parser.add_argument('-v','--verbose', default=0,help="print more debuging information")
parser.add_argument('-s','--store',help="保存流媒體文件到指定位置")
parser.add_argument('-c','--config',default=0,help="讀取~/.danmu.fm配置,請~/.danmu.fm指定資料庫")
parser.add_argument('url',metavar='URL',nargs='+', help="zhubo page URL (*/)")
args = parser.parse_args()
# 獲取對應參數只需要args.quality,args.url之類.
url = (args.url)[0]
print(url)
#其他執行邏輯

保存為danmu.py
這樣就可以執行命令

1

python danmu.py -q 1 -v 2

通過args就可以獲取參數,然後進行終端程序的參數初始化.
可是這和我們的要求還是不同嘛,我們不想多寫Python XXX,我們想直接XXX.就像這樣.

1

danmu.fm -q 1 -v 2

不急,下面就是了.
1.2.如何組織代碼結構.
於是,現在就要開始組織代碼結構了.
我們在最終的代碼目錄大概是這樣的.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

danmu.fm
├── README.md
├── danmufm
│ ├── __init__.py
│ ├── client
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── douyu_client.py
│ │ └── douyu_danmu_client.py
│ ├── danmu.py
│ ├── misc
│ │ ├── __init__.py
│ │ ├── color_printer.py
│ │ ├── downloaders.py
│ │ └── player.py
│ └── model
│ ├── __init__.py
│ └── douyu_msg.py
├── docs
├── setup.cfg
├── setup.py
├── sh.py
└── tests

這就是我上次寫的danmu.fm的代碼目錄.
聰明的你這時候你注意到了:
主要的程序不是放在根目錄下面,而是放在第二目錄danmufm下面.
2.setup.cfg 是什麼鬼東西
3.setup.py 是什麼鬼東西
對於上面幾點,我們分別進行解釋
1.2.1 為什麼主要程序在第二目錄下
為了把主要的程序分離出來,放在第二目錄下面,這樣的待會打包以後多出很多文件夾就不會對源碼造成干擾.
當然,由於把程序放在了第二目錄下面,所以,腳本裡面的from import語句應該使用相對路徑導入.
相對路徑導入的的時候需要注意運行的時候使用如下命令

1

python3 -m danmufm.danmu [xxxx]

1.2.2 setup.cfg
填寫如下內容即可.

1
2

[metadata]
description-file = README.md

然後去寫Markdown的Readme就好了.
1.2.3 setup.py
這個是重頭戲了.
setup這個py文件就是打包配置文件.對這個程序是誰的,有什麼依賴,入口是什麼,等等等等的配置.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

#-*- encoding: UTF-8 -*-
from setuptools import setup, find_packages
"""
打包的用的setup必須引入,
"""

VERSION = '0.1.1'

setup(name='danmu.fm',
version=VERSION,
description="a tiny and smart cli player of douyutv,ximalayad,anmu based on Python",
long_description='just enjoy',
classifiers=[], # Get strings from ?%3Aaction=list_classifiers
keywords='python douyu danmu danmu.fm terminal',
author='twocucao',
author_email='[email protected]',
url='',
license='MIT',
packages=find_packages(),
include_package_data=True,
zip_safe=True,
install_requires=[
'requests',
],
entry_points={
'console_scripts':[
'danmu.fm = danmufm.danmu:main'
]
},
)

官方有distutils這個包管理器工具,設置也非常的簡單,只是,它不支持entry_points屬性,由於無法使用entry_point,也就無法通過命令來跳轉到指定模塊運行程序,這也就意味著,官方工具不方便寫成命令行.還是setuptools好.
上面需要注意的就是install_requires可以添加依賴.其他的你猜都可以猜出來是做什麼的.自己去看代碼,我就不多說了.
2.發布
所謂的發布,就是將打包好的程序的某個版本發布到某個倉庫中.
2.1.注冊pypi賬戶
到這個上面注冊賬號:

2.2.注冊在賬戶下面注冊Python包
進入對應項目根文件,然後執行

1

python3 setup.py register

這一步程序會讓你輸入剛剛注冊的賬號和密碼,然後注冊該包.注冊該包以後,你就有了一個小倉庫.可以存放不同版本的danmu.fm.
注冊的倉庫是可以在這個地址看到的,

2.3.上傳打包好的Python命令行工具.
這里需要藉助一個小工具,twine.twine是一個更加安全方便上傳打包好的代碼的工具.

1

pip3 install twine

接著開始打包,打包成兩個版本,一個是不需要build的版本,另一個是需要build的版本(順帶吐槽下,這兩個詭異的命名).

1

python setup.py sdist bdist_wheel

於是剩下來的就顯而易見了,上傳build完畢的程序到倉庫中.

1

twine upload dist/danmu.fm-0.1.2*

於是,安裝一下,測試是否成功

1

pip3 install danmu.fm --upgrade

命令行的工具是這樣使用的.

1

danmu.fm -q 2 -v 1

3.完善
不斷的完善代碼,然後打包終端程序發布到倉庫給別人用,這就是整個的PIP打包發布流程.
這個時候,你可能需要使用版本控制軟體.
你可能需要增多的代碼的測試.

閱讀全文

與python構建發布相關的資料

熱點內容
房地產開發流程pdf 瀏覽:241
小鵬p7能耗APP怎麼查 瀏覽:241
如何代掛伺服器 瀏覽:280
安卓機拍視頻時怎麼當背景音樂 瀏覽:877
方舟編譯器華為p20pro更新 瀏覽:28
php程序漏洞 瀏覽:550
手機app怎麼轉過去 瀏覽:231
新建文件夾標記 瀏覽:484
兩處收入個稅App上怎麼申報 瀏覽:672
hive創建資料庫命令 瀏覽:832
伺服器在台灣怎麼加速 瀏覽:704
linuxparted磁碟分區命令 瀏覽:134
pdf缺點 瀏覽:837
kalilinuxu盤製作 瀏覽:924
跨雲伺服器哪個平台最好 瀏覽:882
網路上找的資源該如何解壓 瀏覽:753
視頻編譯是什麼意思 瀏覽:371
時代峰峻app怎麼用不了 瀏覽:860
泰拉瑞亞伺服器怎麼查看代碼 瀏覽:136
牛奶壓縮面膜怎麼做 瀏覽:379