python代码怎么打包。像java一样打个包共别人引用
ringa_lee
参考我写的 It's Django 一书中的 教学
我直接节录相关这段给你看:
我们看了、用了那么多别人写的套件,自己会不会很想写一个呢?本章前面的内容已经足够让大家了解如何自己撰写一个套件并在本地端使用,但是我们要如何将这个套件分享给全世界呢?那当然就是要把套件上传到PyPI啰!(这样子所有人都可以用pip来下载和安装你的套件呢)。这个小节就是要教大家怎么作。
如果打算要上传自己的套件,那要先去PyPI上注册取得帐号跟密码喔。
首先,大家要知道,如果自己的Python专案不只想要能从现行或相对的资料夹中汇入,而想要能够安装到Python环境中,一定要在专案的目录底下撰写setup. py档。这边针对还要上传到PyPI,来客制化我们的setup.py,我们先来检视一下一个待上传的专案结构和和我们要加入的几个设定档位置:setup.py檔。這邊針對還要上傳到PyPI,來客製化我們的setup.py,我們先來檢視一下一個待上傳的專案結構和和我們要加入的幾個設定檔位置:
setup. py
setup.py
MyProject/ ├── README ├── pkgA │ ├── __init__.py │ ├── modA_1.py │ └── modA_2.py ├── pkgB │ ├── __init__.py │ └── modB.py ├── runner ├── .pypirc # 加入.pypirc └── setup.py # 加入setup.py
我們注意到原本該專案底下有兩個套件pkgA、pkgB(通常我們一個專案裡面會有數個套件,而我們在上傳專案的同時要將所屬的套件全數上傳),裡面分別有數個模組跟標示其為套件結構的__init__.py。接著我們會有一個說明檔README(用來介紹該專案的結構與使用方式,在此便不細談)和一個執行檔(整個專案的執行腳本碼)runner。
pkgA
pkgB
__init__.py
README
runner
接著我們要在原本的專案中加入兩個設定檔,分別是setup.py和.pypirc檔,我們會逐一介紹這些檔案該如何撰寫。
.pypirc
首先來看到setup.py:
from distutils.core import setup setup( name = 'MyProject', packages = ['pkgA', 'pkgB'], scripts = ['runner'], version = '1.0', description = 'My first project', author = 'dokelung', author_email = 'dokelung@gmail.com', keywords = ['Good Project'], classifiers = [], )
我們必須要從distutils.core(distutils是Python內建的套件)中匯入setup
distutils.core
setup
[distutils] index-servers = pypi [pypi] repository: https://pypi.python.org/pypi username: (此處填帳號) password: (此處填密碼)
set HOME=C:\Users\Owner\
这边稍微解释一下scripts,这边要写在scripts里的是整个专案的执行档,他可能用到了专案里面的套件。为了要将该档案同时也装到使用者的系统上,我们需要把他也标注上去,否则后面我们利用pip安装的时候就只会安装package而不会安装执行档了。而这边所谓对执行档的安装,其实也就是把指定的scripts放到一个可执行路径里,例如/usr/bin/中,如此使用者在安装完后可在任何地方运行该script(其实我们能够指定安装的路径,但如果只给script名称,那他会被放在预设的位置)。这边有一点一定要注意,script的名字千万不要跟他要汇入的pakcage同名了,这会导致一些汇入上的失误。 scripts,這邊要寫在scripts裡的是整個專案的執行檔,他可能用到了專案裡面的套件。為了要將該檔案同時也裝到使用者的系統上,我們需要把他也標註上去,否則後面我們利用pip安裝的時候就只會安裝package而不會安裝執行檔了。而這邊所謂對執行檔的安裝,其實也就是把指定的scripts放到一個可執行路徑裡,例如/usr/bin/中,如此使用者在安裝完後可在任何地方運行該script(其實我們能夠指定安裝的路徑,但如果只給script名稱,那他會被放在預設的位置)。這邊有一點一定要注意,script的名字千萬不要跟他要匯入的pakcage同名了,這會導致一些匯入上的失誤。
scripts
/usr/bin/
至此,已經擁有一個漂亮的安裝檔了(同時也能支援PyPI發佈)。
接著,我們來看看.pypirc檔,唯有建立此設定檔才能讓我們傳東西到PyPI上面:
$ cp .pypirc ~/.pypirc
如果是Windows的使用者,請打開終端機(命令提示字元),進行環境變數的設定:
$ python setup.py register -r pypi
接著將我們在C槽的使用者資料夾(其實就是C:Users)裡面新增一個子目錄Owner,把我們的.pipyrc複製一份放到該資料夾下,就算設定完成囉。
C:Users
Owner
.pipyrc
如果是Linux或是Mac的使用者,也請將.pypirc複製到家目錄底下:
$ python setup.py sdist upload -r pypi
上述設定檔備妥後,就到了最後一個階段,首先註冊:
$ pip install MyProject
接著上傳:
太好了,你成功的讓全世界都能看到你的作品了,上PyPI看看你的package頁面吧。終於,我們嘗到了甜美的果實,緊接著利用pip
pip
接着,我们来看看.pypirc档,唯有建立此设定档才能让我们传东西到PyPI上面: rrreee
接着,我们来看看.pypirc档,唯有建立此设定档才能让我们传东西到PyPI上面:
rrreee
.pipyrc复制一份放到该资料夹下,就算设定完成啰。 如果是Linux或是Mac的使用者,也请将.pypirc复制到家目录底下: rrreee 上述设定档备妥后,就到了最后一个阶段,首先注册: rrreee 🎜接着上传:🎜 rrreee 🎜太好了,你成功的让全世界都能看到你的作品了,上PyPI看看你的package页面吧。终于,我们尝到了甜美的果实,紧接着利用pip下载我们的专案(和里面的套件)并安装到自己的电脑看看:🎜 rrreee 🎜🎜如果读者有用pip在自己的电脑上安装了上传的专案,该专案底下的套件就可以在本机端任何地方汇入了。 🎜🎜 🎜然后你就可以昭告天下,你也是Python的贡献者了。 🎜 🎜 🎜🎜我回答过的问题🎜: Python-QA🎜
如果是Linux或是Mac的使用者,也请将.pypirc复制到家目录底下: rrreee 上述设定档备妥后,就到了最后一个阶段,首先注册:
参考我写的 It's Django 一书中的 教学
我直接节录相关这段给你看:
上传自己的套件
我们看了、用了那么多别人写的套件,自己会不会很想写一个呢?本章前面的内容已经足够让大家了解如何自己撰写一个套件并在本地端使用,但是我们要如何将这个套件分享给全世界呢?那当然就是要把套件上传到PyPI啰!(这样子所有人都可以用pip来下载和安装你的套件呢)。这个小节就是要教大家怎么作。
首先,大家要知道,如果自己的Python专案不只想要能从现行或相对的资料夹中汇入,而想要能够安装到Python环境中,一定要在专案的目录底下撰写
setup. py
档。这边针对还要上传到PyPI,来客制化我们的setup.py,我们先来检视一下一个待上传的专案结构和和我们要加入的几个设定档位置:setup.py
檔。這邊針對還要上傳到PyPI,來客製化我們的setup.py,我們先來檢視一下一個待上傳的專案結構和和我們要加入的幾個設定檔位置:我們注意到原本該專案底下有兩個套件
pkgA
、pkgB
(通常我們一個專案裡面會有數個套件,而我們在上傳專案的同時要將所屬的套件全數上傳),裡面分別有數個模組跟標示其為套件結構的__init__.py
。接著我們會有一個說明檔README
(用來介紹該專案的結構與使用方式,在此便不細談)和一個執行檔(整個專案的執行腳本碼)runner
。接著我們要在原本的專案中加入兩個設定檔,分別是
setup.py
和.pypirc
檔,我們會逐一介紹這些檔案該如何撰寫。首先來看到
setup.py
:我們必須要從
我们注意到原本该专案底下有两个套件distutils.core
(distutils是Python內建的套件)中匯入setup
pkgA
、pkgB
(通常我们一个专案里面会有数个套件,而我们在上传专案的同时要将所属的套件全数上传),里面分别有数个模组跟标示其为套件结构的__init__.py
。接着我们会有一个说明档README
(用来介绍该专案的结构与使用方式,在此便不细谈)和一个执行档(整个专案的执行脚本码)runner
。setup.py
和.pypirc
档,我们会逐一介绍这些档案该如何撰写。setup.py
:distutils.core
(distutils是Python内建的套件)中汇入setup
函式,此函式会帮助我们进行安装,让我们来了解一下此函式中每个参数的意义:这边稍微解释一下
scripts
,这边要写在scripts里的是整个专案的执行档,他可能用到了专案里面的套件。为了要将该档案同时也装到使用者的系统上,我们需要把他也标注上去,否则后面我们利用pip安装的时候就只会安装package而不会安装执行档了。而这边所谓对执行档的安装,其实也就是把指定的scripts放到一个可执行路径里,例如/usr/bin/
中,如此使用者在安装完后可在任何地方运行该script(其实我们能够指定安装的路径,但如果只给script名称,那他会被放在预设的位置)。这边有一点一定要注意,script的名字千万不要跟他要汇入的pakcage同名了,这会导致一些汇入上的失误。scripts
,這邊要寫在scripts裡的是整個專案的執行檔,他可能用到了專案裡面的套件。為了要將該檔案同時也裝到使用者的系統上,我們需要把他也標註上去,否則後面我們利用pip安裝的時候就只會安裝package而不會安裝執行檔了。而這邊所謂對執行檔的安裝,其實也就是把指定的scripts放到一個可執行路徑裡,例如/usr/bin/
中,如此使用者在安裝完後可在任何地方運行該script(其實我們能夠指定安裝的路徑,但如果只給script名稱,那他會被放在預設的位置)。這邊有一點一定要注意,script的名字千萬不要跟他要匯入的pakcage同名了,這會導致一些匯入上的失誤。至此,已經擁有一個漂亮的安裝檔了(同時也能支援PyPI發佈)。
接著,我們來看看
.pypirc
檔,唯有建立此設定檔才能讓我們傳東西到PyPI上面:如果是Windows的使用者,請打開終端機(命令提示字元),進行環境變數的設定:
接著將我們在C槽的使用者資料夾(其實就是
C:Users
)裡面新增一個子目錄Owner
,把我們的.pipyrc
複製一份放到該資料夾下,就算設定完成囉。如果是Linux或是Mac的使用者,也請將
.pypirc
複製到家目錄底下:上述設定檔備妥後,就到了最後一個階段,首先註冊:
接著上傳:
rrreee太好了,你成功的讓全世界都能看到你的作品了,上PyPI看看你的package頁面吧。終於,我們嘗到了甜美的果實,緊接著利用
至此,已经拥有一个漂亮的安装档了(同时也能支援PyPI发布)。 如果是Windows的使用者,请打开终端机(命令提示字元),进行环境变数的设定:pip
rrreee
接着将我们在C槽的使用者资料夹(其实就是C:Users
)里面新增一个子目录Owner
,把我们的.pipyrc复制一份放到该资料夹下,就算设定完成啰。
如果是Linux或是Mac的使用者,也请将
rrreee 🎜接着上传:🎜 rrreee 🎜太好了,你成功的让全世界都能看到你的作品了,上PyPI看看你的package页面吧。终于,我们尝到了甜美的果实,紧接着利用.pypirc
复制到家目录底下: rrreee 上述设定档备妥后,就到了最后一个阶段,首先注册:pip
下载我们的专案(和里面的套件)并安装到自己的电脑看看:🎜 rrreee 🎜🎜如果读者有用pip在自己的电脑上安装了上传的专案,该专案底下的套件就可以在本机端任何地方汇入了。 🎜🎜 🎜然后你就可以昭告天下,你也是Python的贡献者了。 🎜 🎜 🎜🎜我回答过的问题🎜: Python-QA🎜