• Python 入门1 上传代码


      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
    View Code

     你在你安装的python/Lib/site-packages 下面就会发现安装了Test HelloWorld 怎么样很神奇,是吧。在IDLE中输入 

    import HelloWorld 
    import Test

    试试看?哈哈,神奇的一幕出现了吧..

      好了,明天继续。明天讲点基本数据类型吧...

    如果转载,请标明出处:http://www.cnblogs.com/hwb1992/

  • 相关阅读:
    一个网站需求说明书的示例
    产品设计与PRD介绍
    研发效能度量案例
    项目管理过程流程图
    变量 $cfg['TempDir'] (./tmp/)无法访问。phpMyAdmin无法缓存模板文件,所以会运行缓慢。
    wordpress函数大全列表整理
    PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature
    通过写脚本的方式自动获取JVM内的进程堆栈信息等内容
    简单定位占用最高CPU的java进程信息
    使用linux上面powershell安装vm powercli 连接vcenter 通过计划任务自动创建部分虚拟机的快照以及自动清理过期快照的办法
  • 原文地址:https://www.cnblogs.com/hwb1992/p/3360358.html
Copyright © 2020-2023  润新知