python发布自己的pip项目

Posted 无知的代价

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python发布自己的pip项目相关的知识,希望对你有一定的参考价值。

由于在工作中遇到,需要别人广泛使用我写的代码,故记录一次发布自己的pip项目

 

一、注册自己的 PyPi 帐号

也可以是自己搭的 PyPi私服仓库的账号

二、依据自己的项目目录,创建setup.py

如下图所示,agent_cli是我整体的项目,我想要将pip-test目录下的代码打包上传到Pypi仓库中;

在pip-test的同级目录,创建setup.py文件

 

 

三、 编写自己的setup.py文件

from setuptools import setup, find_packages

setup(
    name=\'pip-test\',  # 打包后的包文件名
    version=\'1.0\',    #版本号
    keywords=("pip", "client"),    # 关键字
    description=\'client\',  # 说明
    long_description="client",  #详细说明
    license="MIT Licence",  # 许可
    url=\'\',  一般是GitHub项目路径
    author=\'XXX\',
    author_email=\'XXXXXXXXX.com\',
    # packages=find_packages(),     #这个参数是导入目录下的所有__init__.py包
    include_package_data=True,
    platforms="any",
    install_requires=[\'thrift\'],    # 引用到的第三方库
    # py_modules=[\'pip-test.DoRequest\', \'pip-test.GetParams\', \'pip-test.ServiceRequest\',
    #             \'pip-test.ts.constants\', \'pip-test.ac.Agent2C\',
    #             \'pip-test.ts.ttypes\', \'pip-test.ac.constants\',
    #             \'pip-test.__init__\'],  # 你要打包的文件,这里用下面这个参数代替
    packages=[\'pip-test\', \'pip-test.gen_py\', \'pip-test.gen_py.ac\', \'pip-test.gen_py.ts\'] # 这个参数是导入目录下的所有__init__.py包
)

  

四、打包自己的项目

执行下述两条命令

python setup.py build    #执行此命令后,会生成上面图片中build的目录,目录层级是  build/lib/pip-test,  pip-test目录下就是你打包文件解压后的结果,可以在此查看打包的代码是否完整

python setup.py sdist    # 执行此命令后,就会在dist目录下生成压缩包文件 .tar.gz

 

五、上传到PyPi服务器

在上传前,要建一个文件,$HOME/.pypirc,$HOME目录在linux或者mac系统下就是~/目录。在这里建一个.pypirc文件。里边的内容如下:

[distutils]
index-servers = pypi

[pypi]
username:你的PyPi用户名
password:你的PyPi密码

执行此命令: twine upload dist/XXXXX-0.1.0.tar.gz   上传你刚刚打包好的压缩包

 

六、安装使用

使用pip install XXX   就可以轻松使用了

 

以上是关于python发布自己的pip项目的主要内容,如果未能解决你的问题,请参考以下文章

在Pypi上发布自己的Python包

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

怎么把python部署到服务器

如何把python代码上传到服务器上

为啥pip安装第三方库时总出现红色代码?

学习python这么久,有没有考虑发布一个属于自己的模块?