請出示簡單的和最新的標準方法來創建一個Python包的Python 2.x的如何創建一個Python 2.x的包 - 簡單的情況下
我寧願使用PIP安裝包後來。
包裝內應包含一個類:
class hello:
def greet(self):
print "hello"
每個人都應該能夠做到後來如下:
pip install my_package-0.1.1....
,然後用它:
from my_package import hello
h = hello.hello()
h.greet()
我我要求的是:
- 目錄和文件佈局
- 目錄中的文件的
- 命令創建分發包文件
- 命令(使用優選PIP)
有從分配包文件安裝包幾個HOWTO文檔,我發現,但我仍然不知道如何這個很簡單,剝離下來的情況下(沒有嵌套的包,清除了所有的文件和功能,可以爲最簡單的情況下可以省略)將被處理,這是現代的方式去做吧。
我想這個問題進入社會的維基狀態,這樣你就不會得到任何觀點,我將給予足夠的時間和將迎來幾天後接受了答案,也考慮到投票和評論。
編輯:
我有,我想與大家分享第一運行示例,我使用馬呂斯Gedminas的答案吧。它不包含一切,應該在那裏,但它的工作原理,所以它可以表明其在技術過程的核心。要添加更多必要的部件,請閱讀下面的Marius的答案。
目錄結構:
MyProject/
setup.py
my_package.py
README.txt
MANIFEST.in
setup.py:
from setuptools.import setup
setup(name='MyProject',
version='0.1',
py_modules=['my_package'])
my_package.py:
class hello:
def greet(self):
print "hello"
MANIFEST.in:
include *.txt
要創建該文件夾的包,進入該文件夾MyProject的,然後運行:
$ python setup.py sdist
這將在一個子文件夾dist/
創建一個文件MyProject-0.1.tar.gz
。將此文件複製到目標機器上的文件夾。
在目標機器上含有MyProject-0.1.tar.gz
的文件夾中運行此命令:
sudo pip install MyProject-0.1.tar.gz
它可以是必要的註銷,現在重新登錄在目標機器上,所以包會被發現。之後,您可以使用Python殼在目標機器上測試軟件包:
$ python
>>> import my_package
>>> h = my_package.hello()
>>> h.greet()
hello
>>>
一旦這個作品,請記得添加其他必要的內容,請參見下面馬呂斯的回答。
這個問題的關鍵是選擇一種現代化的方法,然後剝離幾乎所有可剝離的東西,以便它仍然有效。 – mit 2010-11-11 15:40:57