Hello.大家晚上好,现在让我们来学习一下怎么共享你的Python代码.
分享促使社区的发展,我认为,Python会变得强大的一个重要理由就是代码的共享。事实上,Python的确在代码的共享上下了很大的功夫。每一个人都可以去发布自己写好的包。然后Upload到Pypi上,让大家去下载利用。这真的是一件好事。
好,那么让我们来学习一下,怎么Upload自己的Python包吧.
第一步,你要到https://pypi.python.org/pypi去申请一个自己的账户,这个账户是之后你用来Upload和Download包的时候用的。就在右上角,有一个Register.点击进去,自己注册。这里发个小牢骚,这个密码的设置还真严格,还要大小写,坑爹..
第二步,你自己随便写个Python小代码。例如,我在自己的桌面上写了个HelloWorld.py的代码,里面就一行 print("Hello World").
第三步,新建一个文件夹。取名的话,可以随便取。,里面有如下文件
让我们分别看一下里面有什么内容吧 这个是HelloWorld包的
# This is a test package print("hello world")
这个是Test包的
print(123)
这个是setup包的
from distutils.core import setup setup( name ='TTT2323',#1. 会在pypi中显示出来,表示你的包名 2. 这个名字要是独一无二的,不然会报错。而且在pypi中是忽略大小写的。我之前 #写的是HelloWorld.但是在pypi中有个helloworld,结果就不能注册了 version='1.2.0', author='hwb', author_email='test@test', description='it can print hellp world', py_modules=['HelloWorld','Test'], #空间名称,可以有多个,对应相应的py文件 )
第四步,所有的准备文件都弄好了,现在就开始最关键的upload吧.这里以windows作为演示。linux可以代替命令.其实一样的.代码如下
C:UsershwbDesktopHel> C:UsershwbDesktopHel>python setup.py register running register running check warning: check: missing required meta-data: url We need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: #我们用1 名字和密码就是上面注册pypi的那个 Username: hwb Password: Registering TTT2323 to http://pypi.python.org/pypi Server response (200): OK I can store your PyPI login so future submissions will be faster. (the login will be stored in C:Usershwb.pypirc) Save your login (y/N)?y #保存下来,以后就不用输入密码了
接下来就是要
C:UsershwbDesktopHel>python setup.py sdist upload running sdist running check warning: check: missing required meta-data: url warning: sdist: manifest template 'MANIFEST.in' does not exist (using default fi le list) warning: sdist: standard file not found: should have one of README, README.txt writing manifest file 'MANIFEST' creating TTT2323-1.3.0 making hard links in TTT2323-1.3.0... hard linking HelloWorld.py -> TTT2323-1.3.0 hard linking Test.py -> TTT2323-1.3.0 hard linking setup.py -> TTT2323-1.3.0 creating dist creating 'distTTT2323-1.3.0.zip' and adding 'TTT2323-1.3.0' to it adding 'TTT2323-1.3.0HelloWorld.py' adding 'TTT2323-1.3.0PKG-INFO' adding 'TTT2323-1.3.0setup.py' adding 'TTT2323-1.3.0Test.py' removing 'TTT2323-1.3.0' (and everything under it) running upload Submitting distTTT2323-1.3.0.zip to http://pypi.python.org/pypi Server response (200): OK
好了,这时候大家可以上传了.很神奇,是吧...好了,既然可以上传,那么下载下来我们要怎么用那些py文件呢?
有2种方法,一个就是在sys.path里面添加进入你要的文件的路径,第二个方法就是把你下载的文件安装到你的本地系统中。我们现在就讲下第二种方法的解决之道
假设你已经下载了一个文件。我们这里以我自己写的那个文件作为例子讲解,首先下载下来。解压之后,发现里面有4个文件
用命令行来运行以下命令
C:UsershwbDownloadsTTT2323-1.3.0TTT2323-1.3.0>python setup.py install running install running build running build_py creating build creating buildlib copying HelloWorld.py -> buildlib copying Test.py -> buildlib running install_lib copying buildlibHelloWorld.py -> D:development_environmentpythonLibsite-pa ckages copying buildlibTest.py -> D:development_environmentpythonLibsite-packages byte-compiling D:development_environmentpythonLibsite-packagesHelloWorld.py to HelloWorld.cpython-33.pyc byte-compiling D:development_environmentpythonLibsite-packagesTest.py to Te st.cpython-33.pyc running install_egg_info Writing D:development_environmentpythonLibsite-packagesTTT2323-1.3.0-py3.3. egg-info
你在你安装的python/Lib/site-packages 下面就会发现安装了Test HelloWorld 怎么样很神奇,是吧。在IDLE中输入
import HelloWorld import Test
试试看?哈哈,神奇的一幕出现了吧..
好了,明天继续。明天讲点基本数据类型吧...
如果转载,请标明出处:http://www.cnblogs.com/hwb1992/