码迷,mamicode.com
首页 > 其他好文 > 详细

第一个pip安装包程序制作实验

时间:2018-05-03 10:26:18      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:master   art   func   .com   https   distrib   sam   cts   修改   

第一个pip安装包程序实验

  • 经常在使用Python项目和编程中,会经常使用到pip install 包名 或者使用 easy_install 包名进行有关依赖程序包安装操作。
  • 通过查看相对应的指导文档发现,该程序包可以自己编写好后进行上传到pip官网,便于其他人使用。
  • 网址:https://pypi.org/

Packaging and distributing projects(打包和发布项目)

  1. 首先, 确认满足包安装的需求,如Python版本环境等。
  2. 安装"twine"模块
pip install twine
  1. 你需要将你的项目发布上传到PyPI。

需要上传的项目配置

初始化文件

setup.py

  1. 这是您的项目各个方面的配置文件。 setup.py的主要功能是它包含一个全局setup()函数。 此函数的关键字参数是您的项目的具体细节是如何定义的。 最相关的论点将在下面的部分进行解释
  2. 这是用于运行与打包任务相关的各种命令的命令行界面。 要获取可用命令的列表,请运行python setup.py --help-commands。

setup.cfg

  • 是一个ini文件,其中包含setup.py命令的默认选项。 有关示例,请参阅PyPA示例项目中的setup.cfg。

README.rst / README.md 文件

  • 所有项目都应该包含一个涵盖项目目标的自述文件。最常见的格式是带有“rst”扩展名的reStructuredText,虽然这不是要求;Markdown的多种变体也被支持(查看setup()的long_description_content_type参数)

  • 有关示例,请参阅PyPA示例项目中的README.md

注意使用setuptools的项目默认情况下包含在源代码分发中的README.rst(自0.6.27开始)。
内置的distutils库在Python 3.7中开始采用这种行为。
如果您使用setuptools,则不需要在MANIFEST.in中列出README.rst否则,包括它是明确的。

MANIFEST.in

LICENSE.txt

你的项目包

注意事项

  • Python 模块或者包名应该遵守以下的规则:
  1. 全小写
  2. 不要和pypi上已有的包名重复,即使你不想公开发布你的包,因为你的包可能作为其他包的依赖包
  3. 使用下划线分隔单词或者什么都不用(不要使用连字符)
  4. 现在把我们的函数变成一个Python module

开始工作

  • 目录结构 funniest 如下:
pipfunctiontest/
    pipfunctiontest/
        __init__.py
    setup.py

  

最外层的目录是我们版本管理工具的根目录, 例如 funniest.git . 子目录也叫 funniest , 代表Python module.

  • 为了更好理解, 我们把函数 joke() 放到 init.py 中:
def joke():
    return (u‘How do you tell HTML from HTML5?‘
            u‘Try it out in Internet Explorer.‘
            u‘Does it work?‘
            u‘No?‘
            u‘It\‘s HTML5.‘)
  • 最主要的setup配置文件是 setup.py , 应该包含一行代码调用 setuptools.setup() ,就像下面这样:
from setuptools import setup

setup(name=‘pipfunctiontest‘,
      version=‘v1.0‘,
      description=‘The pipfunctiontest joke in the world‘,
      url=‘http://github.com/storborg/pipfunctiontest‘,
      author=‘Flying Circus‘,
      author_email=‘zksfyz@gmail.com‘,
      license=‘MIT‘,
      packages=[‘pipfunctiontest‘],
      zip_safe=False)
  • 现在我们可以在本地安装这个python包:
$ python setup.py install
  • 我们也可以使用开发模式安装这个包, 每次修改代码之后不用重新安装, 立即可用最新的代码.:
$ python setup.py develop
  • 不管用哪种方式,安装之后就可以在python中使用这个包:
>>> import pipfunctiontest
>>> print pipfunctiontest.joke()
  • 在PyPI上发布
  • 脚本 setup.py 也是在PyPI注册和上传源码包的入口.
  • 第一步创建一个源码包:
$ python setup.py sdist
  • 上面register和upload会失败,因此需要采用之前安装的twine
twine upload dist/* #打包好的代码包
  • 安装这个包
  • 上面的步骤完成之后, 其他用户可以直接用 easy_install 安装:
easy_install pipfunctiontest
  • 或者使用 pip
$ pip install pipfunctiontest

第一个pip安装包程序制作实验

标签:master   art   func   .com   https   distrib   sam   cts   修改   

原文地址:https://www.cnblogs.com/zksfyz/p/8983783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!