当前位置: 首页 > article >正文

python包的管理

管理python包

python能跻身最欢迎编程语言前列的一个主要原因是python有着活跃的社区提供丰富的包,诸如numpy,pandas,scikit-learn等等。

python的包都存放PyPI中,PyPI即Python Package Index,是python的软件仓库。所有的python包都可以在PyPI中下载并安装。

PyPI中的每个包都对应一个URL:https://pypi.python.org/pypi/{package},通过URL直接下载就是安装;只不过这是一个手动的过程:搜索包+下载+解压+Python setup.py install

有没有自动的方式?

setuptools

一种是setuptools,提供一键安装。当然首先要先安装setuptools。setuptools可以通过https://pypi.python.org/pypi/setuptools下载setuptools包手动安装。

安装setuptools之后,就可以运行easy_install命令安装其他的包,如

easy_install numpy

pip

pip作为setuptools的改进版,增加了对已安装包的查询和删除等管理,是当前最流行的python包管理工具。

要使用pip需要安装,可以通过PyPI下载也可以通过setuptools安装。

easy_install pip 

注意:setuptools和pip都是python软件包哦。

pip提供了CLI命令,可以通过pip --help查看使用帮助
请添加图片描述

最常用例子


# 安装
pip install numpy

# 卸载
pip uninstall numpy

# 查看已安装包
pip list

升级pip版本

pip install pip -U

在国内pypi的网站下载可能会比较慢,可以设置其他镜像站点如清华源

可以通过 pip config 设置为默认源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

也可以每次pip install 指定源

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

另外yolk也提供了更详细的包的信息,不过不是很常用


pip install yolk3k
# 查看已经安装包
yolk -l 
# 显示包注册的所有入口点
yolk --entry-map

小结

今天介绍了几种python包的管理方法, pip是最流行的方式。但是不要忘记了最原始的PyPI。

另外Anaconda 提供是常用的python的安装包,当然也包括pip。

打包python程序

当你开发完自己的python程序并通过测试后,下一步就是要打包部署你的程序。

  • 如果你开发的是公共组件,供他人使用,则需要打包代码,并发布到内部共享库或者公开的PyPI
  • 如果你开发的是独立组件,则打包代码,通过持续集成进行发布到线上部署

打包文件格式通常是zip包或者tar包。

之前介绍过的setuptools提供了较完善的打包和发布到公开源PyPI的过程,打包步骤如下:

  • 自己程序模块,如add.py
  • setup.py 设置安装相关信息
  • 打包
  • 发布到PyPI
  • 下载安装
  • 模块使用

我们以一个例子来说明上述的步骤

  • 自己程序模块
    一个简单的工具计算类add.py

def add(a, b):
    return a + b
  • setup.py文件
    编写setup文件,一般只要包括版本和模块,以及作者信息即可。也可以通过paste模块自动生成setup文件。
    下面是一个简单的setup文件

from distutils.core import setup
setup(name='add',
    version='1.0',
    py_modules=['add'],
    )

paste模块通过pip install pastescript安装,paste提供了不同的模板可以快速创建setup文件,也可以通过制定的配置文件生成,通常建议使用配置来创建

请添加图片描述

常用配置如下:

[pastescript]
description = aiweker-prj
license_name = aiweker
keywords = Python
long_description = aiweker-prj
author = aiweker
author_email = xxx@aiweker.com
url = http://aiweker.com
version = 1.0.0
paster通过create创建setup文件,模板为basic_package
paster create -t basic_package --config="aiweker-prj-setup.cfg" add
  • 打包
    注意上面提及的add.py模块和setup.py文件是在同一个级目录。打包执行下面命令即可打包

    
    python setup.py sdist --formats=zip,gztar
    

    打包后在dist目录下会有两个包一个是zip包,另一个是tar.gz包

    ./dist
    |- add-1.0.tar.gz
    |- add-1.0.zip
    
  • 上传到PyPI
    要上传到PyPI,需要在PyPI注册一个账号

    • 通过python setup.py register注册;
    • 注册完之后,通过python setup.py register -n登录
    • 通过upload 进行上传 python setup.py sdist upload
  • 安装模块和使用
    直接使用以下命令安装模块

python setup.py install

import add

print(add.add(10, 4))
# 14

以上就是简单的打包发布过程,希望对你有帮助!


http://www.kler.cn/a/547553.html

相关文章:

  • 【第8章:深度学习框架与工具—8.1 TensorFlow与PyTorch的对比与选择建议】
  • 网页五子棋——用户模块
  • Vript-Hard——一个基于高分辨率和详细字幕的视频理解算法
  • TestHubo基础教程-创建项目
  • Python函数进阶250215
  • 从ARM官方获取自己想要的gcc交叉编译工具链接(Arm GNU Toolchain),并在Ubuntu系统中进行配置
  • 服务器模式部署mediacms后卸载mediacms,包括数据库
  • 项目版本号生成
  • CentOS 7上安装Python 3的步骤如下
  • 车规MCU处理器选择Cortex-M7还是Cortex-R52?
  • 树莓集团:从区域到全国,数字产业园服务如何有效赋能企业?
  • 【Erdas实验教程】004:影像镶嵌拼接
  • DeepSeek指导手册从入门到精通
  • 使用API有效率地管理Dynadot域名,清除某一文件夹中域名的默认DNS设置
  • 深度探索 DeepSeek:AI 领域的璀璨新星
  • Flutter_学习记录_网络请求的简单了解
  • 分布式 NewSQL 数据库(TiDB)
  • Linux系统常用命令用法详解
  • (LLaMa Factory)大模型训练方法--准备模型(Qwen2-0.5B)
  • 基于若依开发的工程项目管系统开源免费,用于工程项目投标、进度及成本管理的OA 办公开源系统,非常出色!