上传python的包至pypi服务器及crate.io

前言

我们经常可以看到github上的python开源项目有pipy的选项,及下载量的统计,是不是很惊讶于他们的professional?

https://github.com/divio/django-cms

我们要如何打造自已的downloads统计?这个统计信息其实来自于crate.io,一个pypi的镜像站点,只要你上传了包在pypi,crate.io就会自动保存相关的包并统计相关信息.

另外,这个包传到pip上, 这样就可以直接用 pip install yourproject,或者只在requirments.txt中写个your-project就可以哦了;)

是不是也很想要在自已的开源项目加这个?那跟我来吧。

注册账号

1.https://pypi.python.org/pypi?%3Aaction=register_form

   记住你的密码(也可以用gmail登录)

项目修改

首先创建项目文件和setup文件。
目录文件结构如下:

project/
    simpletest/
        __init__.py
        test.py
    setup.py
假设项目文件只有一个simpletest包,里面有一个test.py文件。
创建的setup.py文件格式大致如下,其中,install_requires字段可以列出依赖的包信息,

用户使用pip或easy_install安装时会自动下载依赖的包。详细的格式参考文档

from setuptools import setup, find_packages

setup(
    name = 'simpletest',
    version = '0.0.1',
    keywords = ('simple', 'test'),
    description = 'just a simple test',
    license = 'MIT License',
    install_requires = ['simplejson>=1.1'],

    author = 'test',
    author_email = 'not@all.com',
    
    packages = find_packages(),
    platforms = 'any',
)

代码打包,打包只需要执行python setup.py xxx命令即可,其中xxx是打包格式的选项,如下

# 以下所有生成文件将在当前路径下 dist 目录中
python setup.py bdist_egg # 生成easy_install支持的格式 
python setup.py sdist     # 生成pip支持的格式,下文以此为例


发布到pypi首先需要注册一个账号,然后进行如下两步:


注册package。输入python setup.py register。

上传文件。输入python setup.py sdist upload。


安装测试

上传成功后,就可以使用pip来下载安装了

另外,pypi还有一个测试服务器,可以在这个测试服务器上做测试,
测试的时候需要给命令指定额外的"-r"或"-i"选项,
如python setup.py register -r "https://testpypi.python.org/pypi", python setup.py sdist upload -r "https://testpypi.python.org/pypi", pip install -i "https://testpypi.python.org/pypi" simpletest

发布到测试服务器的时候,建议在linux或cygwin中发布,如果是在windows中,参考文档,需要生成.pypirc文件
在github你的项目中的README.rst中添加显示图片如cloudsafe改成你的项目名称
.. image:: https://pypip.in/v/cloudsafe/badge.png
    :target: https://crate.io/packages/cloudsafe/
.. image:: https://pypip.in/d/cloudsafe/badge.png
    :target: https://crate.io/packages/cloudsafe/

ps.你刚上传的项目不一定能在crate.io中搜到。但是你可以直接通过网址访问
https://crate.io/packages/cloudsafe/

最终效果如图


reference

http://yejinxin.github.io/distribute-python-packages-to-pypi-server/

http://liluo.org/blog/2012/08/how-to-create-python-egg/
http://blog.jkey.lu/2013/04/11/create-python-egg/
http://docs.python.org/2/distutils/index.html




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
引用提供了pycrypto的下载地址为https://pypi.python.org/pypi/pycrypto。该链接指向的网页是用于下载pycrypto包的页面。你可以在这个链接上找到pycrypto的最新版本并下载安装。引用中提到,在安装pycrypto时最好保持联网状态,因为它会自动下载依赖包pycrypto。这意味着在使用python setup.py install命令安装pycrypto时,如果你的电脑联网,它会自动下载pycrypto的依赖包。引用提供了PyQt5包的国内镜像地址为https://pypi.tuna.tsinghua.edu.cn/simple/。这个镜像地址可以用于在PyCharm中添加国内镜像源来安装PyQt5包。添加这个镜像源可以帮助你在下载和安装PyQt5包时提高速度和成功率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [https://pypi.python.org/pypi/ssh](https://blog.csdn.net/weixin_39943442/article/details/114909903)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [PyCharm下添加国内镜像源 https://pypi.tuna.tsinghua.edu.cn/simple/ 安装PyQt5包](https://blog.csdn.net/hnjzsyjyj/article/details/115712516)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值