把自己的python脚本打包上传到PYPI

去年9月的时候,写了几个python脚本,用来从一家基金网站爬数据,然后进行分析,给出值得投资的若干只基金。分析的方法很简单,就是取前1个月,3个月,6个月,1年,2年和3年这所有种类的前100名或50名,然后取交集。能站在这交集中的,自然是表现比较稳定的基金。所以有时候交集实际为空。但这样简单的分析方法也很明显有一个缺陷,就是只要是近期表现好的基金,就很容易站在这交集中了。所以,实际上,这样的分析方法并不是很科学的。

Anyway,本文并不是要讨论如何找出一只优秀的基金,而是介绍下如何把自己的python脚本放到PYPI上。其实就是如何打包发布的问题。关于这一点,有很多前人的文章肯定要写的比我好了。为了节省关心如何打包发布的同学的时间,特列举几篇不错的文章如下:

http://www.ibm.com/developerworks/cn/opensource/os-pythonpackaging/index.html

http://woodpecker.org.cn/diveintopython3/packaging.html

http://ju.outofmemory.cn/entry/15968

http://www.cnblogs.com/Alex-Python-Waiter/archive/2012/09/21/2697445.html


关于本人的package,情况比较简单,所有的.py文件全部放到了一个叫做FundsData的文件夹下(package下),上层目录也叫FundsData(其实叫什么都可以),其下放了setup.py. 关于具体情况,请参见GitHub上的内容:https://github.com/FinixLei/FundsData

而setup.py 的内容如下:

from distutils.core import setup

PACKAGE = "FundsData"
NAME = "FundsData"
DESCRIPTION = "This package can download funds data from http://huobijijin.com and then analyze the data for giving valuable funds."
AUTHOR = "Finix Lei"
AUTHOR_EMAIL = "finixlei@gmail.com"
URL = "https://github.com/FinixLei/FundsData"
VERSION = __import__(PACKAGE).__version__

setup(
    name=NAME,
    version=VERSION,
    description=DESCRIPTION,
    # long_description=read("README.md"),
    author=AUTHOR,
    author_email=AUTHOR_EMAIL,
    license="Apache License, Version 2.0",
    url=URL,
    packages=["FundsData"],
    classifiers=[
        "Development Status :: 3 - Alpha",
        "Environment :: Web Environment",
        "Intended Audience :: Developers",
        "Operating System :: OS Independent",
        "Programming Language :: Python",
    ],
    zip_safe=False,
)

要想成功运行setup.py将自己的python脚本打包上传到PYPI上,首先要安装setuptools包。在Windows上只要下载个windows专用的python 2.7,自然就有了setuptools和distutils;而在Linux上,要自己用pip装一下,或者运行下python ez_setup.py来安装。至于哪里去弄ez_setup.py,网上一搜到处是,就不赘述了。

关于setuptools和distutils的区别,我这里的描述不够清晰,大家可以参看:http://www.cnblogs.com/aguncn/p/3427707.html


当有了distutils之后(一般都有,这是自带的),运行如下命令就可以在PYPI上注册、自己build并上传到PYPI上了:

python setup.py register sdist upload

但是,是如何连上PYPI的呢?当然,你要先注册一个帐号。然后写一个.pypirc文件如下,并将其放到~目录下:

[distutils]
index-servers = pypi

[pypi]
username:xxx
password:yyy

好了,一切成功后,你就可以看到类似这样的网页生成在PYPI上了:

https://pypi.python.org/pypi/FundsData


如README.md所述,使用pip的安装方法如下:

sudo pip install FundsData

运行方法为:

python -mFundsData.funds_data -h
python -mFundsData.funds_data


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值