`
runfeel
  • 浏览: 936145 次
文章分类
社区版块
存档分类
最新评论

python使用setuptools打包并上传到PyPi版本库中

 
阅读更多

我博客的地址: http://www.reyoung.me http://www.thisisreyoung.com

最近在写python的一个幻灯生成器。看到很多python的库都以setup.py和easy_install安装,便打算尝试一下。一试之下发现极端简单。所以做一些笔记。

参考的文章有:

准备工作

万事开头难,要想你的python代码可以使用easy_install和setup.py,那么必须做好以下准备:

  1. 安装python的setuptools
  2. 你的代码必须是在package里。也就是你的代码不能出现在根目录,应该在一个目录下,且有init.py。

书写你的setup.py脚本

本着记录我的想法的目的,我就不从Hello world开始了。我就直接将SlideGen这个库的setup.py放出来。根据每行说明一下,大家应该就懂了。

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
setup(
   name='SlideGen',
   version='0.0.0.1 pre',
   packages=['slidegen'],
   author='reyoung',
   author_email='reyoung@126.com',
   license='LGPL',
   install_requires=["PyYAML>=3.10","Markdown>=2.1.1","tornado>=2.2"],
   description="A HTML5 Slide Generator in python",
   entry_points ={
    'console_scripts':[
      'SlideGen=slidegen.SlideGen:Main'
    ]
   },
   keywords ='html5 slide generator',
   url='https://github.com/reyoung/SlideGen'
)

这个代码需要在根目录中写一个叫做setup.py文件,在setup.py中包括上述代码。
在其中,必须包含一个叫做setup的函数,在这个函数中,可以对代码包的参数进行设置。一些参数的简单介绍如下:

  • packages:你的代码库包括的package。这个packages可以是多个,也可以通过find_packages自动去做,不过手动也是不错的。
  • install_requires:就是你的代码库需求的第三方库。如果你不记得你的代码中使用的第三方库有什么,可以使用yolk显示所有在setuptools下管理的第三方库
    安装yolk可以使用easy_install yolk
    查询使用easy_install管理的软件包使用命令yolk -l
  • entry_points是自动生成的可执行程序,他会生成到Python*/Scripts/这个目录中。其中:

    • console_scripts是生成命令行程序
    • gui_scripts是生成图形界面程序
    • 等于右边的格式如下:"[可执行程序名]=引入的包名.子包名.模块名:入口函数"

使用setup.py

安装

在写好setup.py后,安装变得异常简单。直接使用命令python setup.py install即可以完成安装。

调试/卸载

我并没有找到使用python脚本卸载的方法,但是可以使用python setup.py install --record install.txt将所有安装的文件列在install.txt中。我们可以使用rm来删除这些文件,达到卸载的目的。

上传到PyPi的版本库

上传pypi后,其他人就可以使用easy_install XXX来安装了。

上传也非常简单,只需要一条命令。

setup.py register sdist bdist_egg upload

而使用这条命令的结果,就会将你的代码传到pypi上,需要注意的是:

  • 如果你没注册pypi帐号,在命令行中他会提示你注册pypi帐号,跟着步骤来就好了。但是需要注意验证电子邮箱。
  • 之后,如果你选择记住密码,他会在你的%HOME%\.pypirc中存储你的密码(linux下是~/.pypirc),需要注意的是,他存储密码的格式不正确,需要手工的添加[server-login]这一段,格式如下
...
[server-login]
username: XXXXXX
password: XXXXXX(明文)

这样你就可以将python的代码上传到pypi版本库中了。

分享到:
评论

相关推荐

    Python2.7及配套setuptools

    Python 2.7是Python编程语言的一个重要版本,发布于2010年,并在2020年停止了官方支持。尽管如此,许多遗留项目和系统仍然依赖于这个版本,因为它提供了稳定性和兼容性。Python 2.7引入了许多改进和修复,包括语法上...

    python 助手setuptools for py 2.7

    setuptools是Python的默认打包工具,它扩展了Python的distutils库,提供更强大的功能,如创建复杂的元数据、处理依赖关系、自动发现项目中的模块等。在Python 2.7时代,setuptools使得开发者能够创建符合Python ...

    python27setuptools工具

    Python中的`setuptools`是一个强大的打包和分发工具,它为Python开发者提供了构建、安装和分发Python软件的便利。`setuptools`是Python生态系统中不可或缺的一部分,它使得Python项目可以方便地创建`.egg`格式的包,...

    PyPI 官网下载 | setuptools-0.6c3.tar.gz

    3. **分发**:setuptools使得Python项目能够被上传到PyPI,以便全球的Python开发者都能找到并安装。通过`python setup.py register`和`python setup.py upload`命令,开发者可以轻松地将项目注册并上传到PyPI。 4. ...

    mac setuptools for python2.7

    6. **打包发布**:setuptools支持将项目打包成`egg`或上传到PyPI(Python Package Index),使得其他用户可以通过`pip`轻松安装。 对于Python 2.7的开发者来说,理解并正确使用setuptools至关重要,因为它可以帮助...

    python setuptools

    此外,`upload`命令可以将你的软件包上传到PyPI(Python Package Index),供其他人安装和使用。 4. **依赖管理**: 通过在`setup.py`中使用`install_requires`参数,setuptools可以帮助处理项目依赖。它会自动...

    setuptools

    5. **打包和上传到PyPI**: PyPI(Python Package Index)是Python官方的第三方库仓库,setuptools可以使用`setup.py register`和`setup.py upload`命令将项目注册并上传到PyPI,使得其他用户可以通过pip轻松获取并...

    上传python包到Pypi

    在Python开发中,将自定义的模块或库分享给他人或者公开发布,通常我们会将其打包成可安装的软件包,并上传到Python Package Index (Pypi)。Pypi是Python官方的第三方软件包仓库,用户可以通过pip命令方便地安装这些...

    Python库 | setuptools-50.2.0.zip

    5. **分发到PyPI**:setuptools可以将包上传到Python Package Index (PyPI),使得全世界的用户可以通过pip等工具方便地安装。 **setuptools-50.2.0** 版本的更新可能包括了错误修复、性能优化或者新的特性。每个...

    python模块setuptools-19.1

    Python模块`setuptools`是Python开发中不可或缺的一部分,它提供了高级打包和分发工具,使得开发者可以更加方便地创建、管理、安装以及分发Python项目。`setuptools`的版本19.1是一个重要的里程碑,引入了若干改进和...

    python-setuptools-5.7.rar

    对于Python开发者来说,理解并掌握`setuptools`的使用至关重要,这不仅能帮助他们高效地管理自己的项目,也能更好地参与到Python的开源社区中去。而`python-setuptools-5.7.rar`这个压缩包,就是`setuptools`的一个...

    Python库 | setuptools-1.1.3.zip

    Python库setuptools是Python开发中不可或缺的一个工具,它主要用于项目的构建、打包和分发。setuptools使得Python开发者能够创建源代码包,这些包可以被安装到用户的系统中,便于共享和使用。在Python世界里,...

    python 2.7 win 64 bit Setuptools安装包

    在Python 2.7版本中,尤其是在64位Windows系统上,Setuptools扮演着核心角色,因为它是安装、打包和分发Python库的必备组件。让我们深入探讨Setuptools的详细知识。 首先,Setuptools是一个Python模块,它的主要...

    打包上传至pypi示例

    当你创建了一个Python项目并希望与其他人共享时,将它上传到PyPI是最佳选择。本教程将详细解释如何打包你的Python项目并将其上传至PyPI。 首先,你需要确保你的Python环境已经安装了`setuptools`、`wheel`和`twine`...

    IronPython安装python第三方库的必须工具setuptools-py2.7.egg

    "setuptools"是Python社区广泛使用的包管理工具,它使得安装、打包和分发Python软件变得简单。本文将详细讲解如何使用"IronPython"和"setuptools"来安装Python的第三方库。 标题提及的"setuptools-py2.7.egg"是一个...

    PyPI 官网下载 | setuptools-3.4.2.tar.gz

    6. **上传到PyPI**:setuptools与`twine`工具配合,可以将项目打包后上传到Python Package Index (PyPI),供全球用户下载和安装。 **三、setuptools与PyPI** PyPI是Python的官方软件仓库,开发者可以在这里发布...

    Python库 | setuptools-58.4.0.tar.gz

    setuptools是Python生态系统中的一个关键库,它为项目打包、安装和分发提供了强大的工具。在这个场景中,我们关注的是setuptools的版本58.4.0,它被封装在一个名为"setuptools-58.4.0.tar.gz"的压缩文件中。 ...

    python setuptools 工具安装包

    Python的`setuptools`工具是Python开发者不可或缺的资源,它为Python项目提供了打包、分发和安装的解决方案。`setuptools`使得Python开发者能够创建`.egg`格式的包,这在早期的Python生态中是非常常见的一种包管理...

    Python库 | setuptools_scm-1.5.4.tar.gz

    8. **PyPI发布**:在发布到PyPI时,`setuptools_scm`确保上传的版本号反映了源代码的实际状态,避免了手动更新版本号可能引入的错误。 9. **持续集成**:在持续集成(CI)环境中,`setuptools_scm`能确保每次构建都...

Global site tag (gtag.js) - Google Analytics