如何将自己的Python代码打包发布到pypi上

简单的说pypi是一个python包的仓库,里面有很多别人写好的python库,你可以通过easy_install或者pip进行安装,方便用户更方面的使用你的代码模块。将代码打包并上传到pypi上,大体上分为以下几步:1、整理代码的目录结构,方便打包和python的import,为了方便引用,需要将代码模块变成一个包,所以需要将功能...
如何将自己的Python代码打包发布到pypi上
什么是pypi
简单的说pypi是一个python包的仓库,里面有很多别人写好的python库,你可以通过easy_install或者pip进行安装,方便用户更方面的使用你的代码模块。

将代码打包并上传到pypi上,大体上分为以下几步:

1、整理代码的目录结构,方便打包和python的import,为了方便引用,需要将代码模块变成一个包,所以需要将功能代码用目录来整合方便引用,并且需要创建__init__文件,__init__中可以没有内容,也可以在__init__文件中进行import(from .extractor import Document)操作,以减少整体模块引用时import的层数,避免错误。

[html] view plain copy
├── ./tidypage
│ ├── ./tidypage/cleaners.py
│ ├── ./tidypage/extractor.py
│ ├── ./tidypage/__init__.py
│ └── ./tidypage/titles.py
2、功能模块的目录整理好后,就可以开始整理和添加发布到pypi上所使用的文件了
[html] view plain copy
tidy_page
├── LICENSE
├── README.rst
├── requirements.txt
├── setup.py
├──tidypage
│ ├──cleaners.py
│ ├──extractor.py
│ ├──__init__.py
│ └──titles.py
就是将原来的目录深移一层,文件夹名称可以根据自己意愿。然后在到第一层的目录下创建些特殊文件,具体你可以看看下面这个文件结构你就明白了

LICENSE文件是授权文件,比如:MIT license, APACHE license

README.rst 文件想必大家都不陌生,其实就是项目介绍和使用说明

setup文件才是重点,是python模块安装所需要的文件,它的格式如下:

[python] view plain copy
#!/usr/bin/env python
from __future__ import print_function
from setuptools import setup, find_packages
import sys

setup(
name="tidy-page",
version="0.1.1",
author="Desion Wang",
author_email="wdxin1322@qq.com",
description="html text parser,get the content form html page",
long_description=open("README.rst").read(),
license="MIT",
url="https://github.com/desion/tidy_page",
packages=['tidypage'],
install_requires=[
"beautifulsoup4",
lxml_requirement
],
classifiers=[
"Environment :: Web Environment",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Topic :: Text Processing :: Indexing",
"Topic :: Utilities",
"Topic :: Internet",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
],
)

NAME 名字,一般放你包的名字即可
PACKAGES 包含的包,可以多个,这是一个列表
DESCRIPTION 关于这个包的描述
LONG_DESCRIPTION 参见read方法说明
KEYWORDS 关于当前包的一些关键字,方便PyPI进行分类。
AUTHOR 谁是这个包的作者,写谁的名字吧
AUTHOR_EMAIL 作者的邮件地址
URL 你这个包的项目地址,如果有,给一个吧,没有你直接填写在PyPI你这个包的地址也是可以的
VERSION 当前包的版本,这个按你自己需要的版本控制方式来
LICENSE 授权方式
INSTALL_REQUIRES 模块所依赖的python模块

文中的classifiers的内容并不是随便填写的,你需要参照本文参考文档中的PyPI Classifiers来写

3、开始使用Distutils进行打包

为了保证效果,在打包之前我们可以验证setup.py的正确性,执行下面的代码
python setup.py check

输出一般是running check
如果有错误或者警告,就会在此之后显示
没有任何显示表示Distutils认可你这个setup.py文件。

如果没有问题,那么就可以正式打包,执行下面的代码:

python setup.py sdist

执行完成后,会在顶层目录下生成dist目录和egg目录

[html] view plain copy
tidy_page
├── tidy_page/dist
│ ├── tidy_page/dist/tidy-page-0.1.0.tar.gz
│ └── tidy_page/dist/tidy-page-0.1.1.tar.gz
├── tidy_page/LICENSE
├── tidy_page/README.rst
├── tidy_page/setup.py
├── tidy_page/tidypage
│ ├── tidy_page/tidypage/cleaners.py
│ ├── tidy_page/tidypage/extractor.py
│ ├── tidy_page/tidypage/__init__.py
│ └── tidy_page/tidypage/titles.py
├── tidy_page/tidy_page.egg-info
│ ├── tidy_page/tidy_page.egg-info/dependency_links.txt
│ ├── tidy_page/tidy_page.egg-info/PKG-INFO
│ ├── tidy_page/tidy_page.egg-info/requires.txt
│ ├── tidy_page/tidy_page.egg-info/SOURCES.txt
│ └── tidy_page/tidy_page.egg-info/top_level.txt

4、打包完成后就可以准备将打包好的模块上传到pypi了,首先你需要在pypi上进行注册 goto PyPI Live
注册完成后,你需要在本地创建好pypi的配置文件,不然有可能会出现使用http无法上传到pypi的问题
Create a .pypirc configuration file,在用户的home目录下创建.pypirc文件,文件的内容如下

[distutils]
index-servers =
pypi

[pypi]
repository=https://pypi.python.org/pypi
username=your_username
password=your_password

chmod 600 ~/.pypirc

python setup.py register -r pypi

在pypi上注册模块
python setup.py sdist upload -r pypi

上传python文件包,没有问题你就可以在pypi上看到你上传的包了
并且可以使用pip搜索和install你的python包了2017-08-10
什么是pypi
简单的说pypi是一个python包的仓库,里面有很多别人写好的python库,你可以通过easy_install或者pip进行安装,方便用户更方面的使用你的代码模块。
将代码打包并上传到pypi上,大体上分为以下几步:
1、整理代码的目录结构,方便打包和python的import,为了方便引用,需要将代码模块变成一个包,所以需要将功能代码用目录来整合方便引用,并且需要创建__init__文件,__init__中可以没有内容,也可以在__init__文件中进行import(from .extractor import Document)操作,以减少整体模块引用时import的层数,避免错误。
[html] view plain copy├── ./tidypage │ ├── ./tidypage/cleaners.py │ ├── ./tidypage/extractor.py │ ├── ./tidypage/__init__.py │ └── ./tidypage/titles.py2、功能模块的目录整理好后,就可以开始整理和添加发布到pypi上所使用的文件了
tidy_page ├── LICENSE ├── README.rst ├── requirements.txt ├── setup.py ├──tidypage │ ├──cleaners.py │ ├──extractor.py │ ├──__init__.py │ └──titles.py就是将原来的目录深移一层,文件夹名称可以根据自己意愿。然后在到第一层的目录下创建些特殊文件,具体你可以看看下面这个文件结构你就明白了
LICENSE文件是授权文件,比如:MIT license, APACHE license
README.rst 文件想必大家都不陌生,其实就是项目介绍和使用说明
setup文件才是重点,是python模块安装所需要的文件,它的格式如下:

#!/usr/bin/env python from __future__ import print_function from setuptools import setup, find_packages import sys setup( name="tidy-page", version="0.1.1", author="Desion Wang", author_email="wdxin1322@qq.com", description="html text parser,get the content form html page", long_description=open("README.rst").read(), license="MIT", url="https://github.com/desion/tidy_page", packages=['tidypage'], install_requires=[ "beautifulsoup4", lxml_requirement ], classifiers=[ "Environment :: Web Environment", "Intended Audience :: Developers", "Operating System :: OS Independent", "Topic :: Text Processing :: Indexing", "Topic :: Utilities", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", ], )NAME 名字,一般放你包的名字即可PACKAGES 包含的包,可以多个,这是一个列表DESCRIPTION 关于这个包的描述LONG_DESCRIPTION 参见read方法说明KEYWORDS 关于当前包的一些关键字,方便PyPI进行分类。AUTHOR 谁是这个包的作者,写谁的名字吧AUTHOR_EMAIL 作者的邮件地址URL 你这个包的项目地址,如果有,给一个吧,没有你直接填写在PyPI你这个包的地址也是可以的VERSION 当前包的版本,这个按你自己需要的版本控制方式来LICENSE 授权方式INSTALL_REQUIRES 模块所依赖的python模块文中的classifiers的内容并不是随便填写的,你需要参照本文参考文档中的PyPI Classifiers来写
3、开始使用Distutils进行打包
为了保证效果,在打包之前我们可以验证setup.py的正确性,执行下面的代码
python setup.py check
输出一般是running check如果有错误或者警告,就会在此之后显示没有任何显示表示Distutils认可你这个setup.py文件。
如果没有问题,那么就可以正式打包,执行下面的代码:
python setup.py sdist
执行完成后,会在顶层目录下生成dist目录和egg目录

tidy_page ├── tidy_page/dist │ ├── tidy_page/dist/tidy-page-0.1.0.tar.gz │ └── tidy_page/dist/tidy-page-0.1.1.tar.gz ├── tidy_page/LICENSE ├── tidy_page/README.rst ├── tidy_page/setup.py ├── tidy_page/tidypage │ ├── tidy_page/tidypage/cleaners.py │ ├── tidy_page/tidypage/extractor.py │ ├── tidy_page/tidypage/__init__.py │ └── tidy_page/tidypage/titles.py ├── tidy_page/tidy_page.egg-info │ ├── tidy_page/tidy_page.egg-info/dependency_links.txt │ ├── tidy_page/tidy_page.egg-info/PKG-INFO │ ├── tidy_page/tidy_page.egg-info/requires.txt │ ├── tidy_page/tidy_page.egg-info/SOURCES.txt │ └── tidy_page/tidy_page.egg-info/top_level.txt
4、打包完成后就可以准备将打包好的模块上传到pypi了,首先你需要在pypi上进行注册 goto PyPI Live
注册完成后,你需要在本地创建好pypi的配置文件,不然有可能会出现使用http无法上传到pypi的问题
Create a .pypirc configuration file,在用户的home目录下创建.pypirc文件,文件的内容如下
[distutils]index-servers = pypi[pypi]repository=https://pypi.python.org/pypiusername=your_usernamepassword=your_passwor
chmod 600 ~/.pypircpython setup.py register -r pypi
在pypi上注册模块
python setup.py sdist upload -r pypi
上传python文件包,没有问题你就可以在pypi上看到你上传的包了并且可以使用pip搜索和install你的python包了
2018-02-02
1.安装使用PyInstaller需要安装PyWin32。
下载与Python对应的PyInstaller版本, 解压后就算安装好了 。
2.生成exe文件
Python程序的目录为 F:\hello.py

在命令行 中进入pyinstaller所在的目录,运行python pyinstaller.py F:\hello.py

在PyInstaller-2.1目录下,生成文件夹hello

hello目录下有文件

exe文件在dist目录下

如果将python文件复制到 pyinstaller.py 所在目录下,则运行 python pyinstaller.py hello.py
3. pyinstaller的一些参数
(1) -F 制作独立的可执行程序,但是,运行生成的exe文件会包含警告。2018-02-02
直接问度娘啊2017-12-13
mengvlog 阅读 42 次 更新于 2025-09-09 06:09:10 我来答关注问题0
  • 运行Python代码的方法主要有以下几种:使用Python解释器(REPL环境):直接输入命令:在命令行或终端中输入python或python3(取决于你的系统配置),进入Python的交互环境。在这个环境中,你可以直接输入Python代码并立即看到结果。退出交互环境:输入exit()或按Ctrl+D(在Unix/Linux/macOS上)或Ctrl+Z然后按...

  • 要在CMD中运行Python代码,你需要完成以下步骤:首先,确保已经安装了Python环境。你可以从Python官方网站下载最新版本的Python安装程序,并按照指示完成安装过程。安装完成后,需要将Python的安装路径配置到环境变量中。打开“控制面板”->“系统和安全”->“系统”->“高级系统设置”->“环境变量”,在系统...

  • 打开Python的IDLE,这是一种集成开发环境,用于编写和运行Python代码。首先,你需要找到你的.py文件,这通常是一个包含Python脚本的文件。你可以通过浏览文件系统来找到它。找到之后,双击该文件或右键点击并选择“用IDLE打开”。这将使IDLE加载你的.py文件,让你能够查看和编辑代码。一旦你的.py文件在IDLE...

  • 点击菜单栏中的Run > Run Module,或者按快捷键F5。IDLE将运行你的代码,并在交互式解释器窗口中显示结果。注意事项: 确保你安装的是正确的Python版本,并根据版本选择相应的输入函数。 在编写代码时,注意缩进和语法规则,这是Python语言的重要特性。 IDLE是学习和编写Python代码的好工具,但它也有局限性...

  •  翡希信息咨询 怎么用sublime text 编写并运行 python程序?怎么设置?

    打开Sublime Text。创建一个新的文件或者打开一个已有的Python文件。在文件中编写你的Python代码。安装SublimeREPL插件:为了能够在Sublime Text中运行和调试Python程序,你需要安装SublimeREPL插件。通过Package Control搜索并安装SublimeREPL。设置Sublime Text以使用SublimeREPL运行Python程序:保存文件:在运行或...

檬味博客在线解答立即免费咨询

代码相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部