怎样本地/pip安装,修改,并发布自己的python包

怎样本地/pip安装,修改,并发布自己的python包

  • 安装方法
  • 路径
    • setup.py
  • build
  • dist archive
  • 本地install
    • 安装在不同环境
    • 修改并重新安装
      • debug:
  • release online (pip install)
    • *pip包的名字修改:*
  • import示例:
  • ref

安装方法

这里总结本地安装和pip安装,因为可以在本地导入后,调试一下,看一看使用情况,有没有导入的bug。

路径

怎样本地/pip安装,修改,并发布自己的python包_第1张图片

setup.py

  • name: 只是后面pip 或 conda install时候的名字,import的时候还是用:import my_package
    name = "pkg"

  • packages:如果多个子包,需要把各个folder的名字和路径写进:

    pacakges = ['my_package', "my_package.sub_package"]

build

在terminal里进入package的目录:

$ python3 setup.py build

生成一个build folder

dist archive

$ python3 setup.py sdist
  • 在dist下生成一个压缩包(这个压缩包后续可以host在pypi,上传之后用来pip install)
  • 解压缩

本地install

安装在不同环境

想把本地包安装在不同的环境,就先切换到相应的环境,比如我现想安装在环境: “agg”

$ conda activate agg
$ python3 setup.py install

终端会显示:successfully installed
check是不是已经安装成功:

$ pip list

显示包 "pkg"已安装(在对应环境)

修改并重新安装

我上传之后用python试了一下,有的包之间相互导入有问题,所以删删改改好几次。

debug:

修改后不需要重复所有步骤,只需要: 删除,修改,重新安装,重启kernel test:

  1. 删除包:
$ pip uninstall pkg
  1. 修改:只修改原路径里的文件,就是这里的package/my_pacakge下面的文件,而非在dist下,或build下的,亲测三次。
  2. 重新安装:
$ python3 setup.py install

release online (pip install)

  • 首先要有一个 pypi的账号,在 https://pypi.org 注册, 记住账号密码。
  • 在刚刚的目录下,上传dist folder 下压缩包: (需安装twine)
$ pip install twine
$ twine upload dist/*

然后依次输入账号名和密码

pip包的名字修改:

  1. 上传失败有可能是你setup.py 中的name('pkg')已经被别人使用过了,需要在setup.py中换名字。但这不影响import的时候的名字(‘my_package’
  2. 使用过的名字无法再次使用,比如你release了一个pacakge,即使你彻底删除了,都无法再次使用。(貌似可以换版本??)

import示例:

怎样本地/pip安装,修改,并发布自己的python包_第2张图片

import my_package
from my_package.sub_package import model2
import my_package.model1

ref

  1. 手把手教你自己写一个Python模块,并将其发布并安装到自己的Python环境中去
  2. 纯Python包发布setup脚本编写示例

你可能感兴趣的:(python)