建立和使用Python自定义模块:打包+pip安装

这篇具有很好参考价值的文章主要介绍了建立和使用Python自定义模块:打包+pip安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在《建立和使用Python自定义模块》里面,我把自定义的模块拷贝到 site-packagesdist-packages 目录。
可是 Ctrl-C + Ctrl-V 总归不是正常的动作,所以我还是想把模块做成安装包,这样便于管理版本。

(零)拷目录-无法卸载

顺便说一下,之前的模块因为是拷进去的。
虽然pip list和show都能用,但uninstall则找不到安装信息,如下:

> pip uninstall ACTP
Found existing installation: ACTP   1.0.3
Can't uninstall 'ACTP  '. No files were found to uninstall.

(一)打包结构

之前的目录结构:
建立和使用Python自定义模块:打包+pip安装

需要扩充成类似下面的结构,也就是包ACTP需要上一层有固定的结构。

TopPath/
├── README.txt
├── setup.py
└── ACTP/
	├── __init__.py
	└── crossPlat.py
	└── DTStringFinder.py
	└── mylogger.py
	└── tnu.py

其中README.txt在Windwos下是个Ansi编码的文本文件。
可以加入这个自定义包比较详细的说明内容,打包后会贴在元数据的后面。

另外还需要修改:

(1.1)__init__.py

之前这个文件是空的,现在添加包的import和版本信息。

from .crossPlat import *
from .DTStringFinder import *
from .mylogger import *
from .tnu import *

__version__ = '1.0.3'

(1.2)setup.py

新建这个文件,加入一些包的信息。
这些就是pip show 的时候显示的(以及安装包的)内容。

from setuptools import setup
from setuptools import find_packages

setup(
    name="ACTP",
    version="1.0.3",
    author="曾如石",
    author_email="ddrfan@163.com",
    url='http://www.scaocheng.com/',
    description="在奥诚科技的任务调度平台中更加方便的开发Python类型业务规则",
    long_description=open('README.txt').read(),
    long_description_content_type="text/markdown",
    python_requires=">=3.6.0",
    license="Private",
    install_requires=[""],
    # packages=["crossPlat","tnu",],
    packages=find_packages(),                           # 打包目录下的全部模块
    # packages=find_packages(exclude=["A", "B"])		# 打包除了指定模块的全部模块
    # include_package_data = True,						# 打包路径下的其他文件
    platforms="any",
)

(二)开始打包

进入setup.py所在的上层目录,
执行:python setup.py bdist_wheel

PS: D:\TopPath> python setup.py bdist_wheel
running bdist_wheel
running build
running build_py
creating build
creating build\lib
creating build\lib\ACTP
copying ACTP\crossPlat.py -> build\lib\ACTP
copying ACTP\DTStringFinder.py -> build\lib\ACTP
copying ACTP\mylogger.py -> build\lib\ACTP
copying ACTP\tnu.py -> build\lib\ACTP
copying ACTP\__init__.py -> build\lib\ACTP
\Python\Python310\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
installing to build\bdist.win-amd64\wheel
running install
running install_lib
creating build\bdist.win-amd64
creating build\bdist.win-amd64\wheel
creating build\bdist.win-amd64\wheel\ACTP
copying build\lib\ACTP\crossPlat.py -> build\bdist.win-amd64\wheel\.\ACTP
copying build\lib\ACTP\DTStringFinder.py -> build\bdist.win-amd64\wheel\.\ACTP
copying build\lib\ACTP\mylogger.py -> build\bdist.win-amd64\wheel\.\ACTP
copying build\lib\ACTP\tnu.py -> build\bdist.win-amd64\wheel\.\ACTP
copying build\lib\ACTP\__init__.py -> build\bdist.win-amd64\wheel\.\ACTP
running install_egg_info
running egg_info
creating ACTP.egg-info
writing ACTP.egg-info\PKG-INFO
writing dependency_links to ACTP.egg-info\dependency_links.txt
writing top-level names to ACTP.egg-info\top_level.txt
writing manifest file 'ACTP.egg-info\SOURCES.txt'
reading manifest file 'ACTP.egg-info\SOURCES.txt'
writing manifest file 'ACTP.egg-info\SOURCES.txt'
Copying ACTP.egg-info to build\bdist.win-amd64\wheel\.\ACTP-1.0.3-py3.10.egg-info
running install_scripts
creating build\bdist.win-amd64\wheel\ACTP-1.0.3.dist-info\WHEEL
creating 'dist\ACTP-1.0.3-py3-none-any.whl' and adding 'build\bdist.win-amd64\wheel' to it
adding 'ACTP/DTStringFinder.py'
adding 'ACTP/__init__.py'
adding 'ACTP/crossPlat.py'
adding 'ACTP/mylogger.py'
adding 'ACTP/tnu.py'
adding 'ACTP-1.0.3.dist-info/METADATA'
adding 'ACTP-1.0.3.dist-info/WHEEL'
adding 'ACTP-1.0.3.dist-info/top_level.txt'
adding 'ACTP-1.0.3.dist-info/RECORD'
removing build\bdist.win-amd64\wheel
PS: D:\TopPath>

然后在生成的dist目录中,
出现了打好的安装包ACTP-1.0.3-py3-none-any.whl

可以通过pip来安装了:

...\dist> pip install .\ACTP-1.0.3-py3-none-any.whl
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Processing d:\workshwc\ac_dcm\publicpython\dist\actp-1.0.3-py3-none-any.whl
Installing collected packages: ACTP
Successfully installed ACTP-1.0.3

(2.1)命令出错?

error: invalid command 'bdist_wheel'

那么就先:

> pip install wheel
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting wheel
  Downloading https://mirrors.aliyun.com/pypi/packages/61/86/cc8d1ff2ca31a312a25a708c891cf9facbad4eae493b3872638db6785eb5/wheel-0.40.0-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 kB 290.4 kB/s eta 0:00:00
Installing collected packages: wheel
Successfully installed wheel-0.40.0

(三)测试

(3.1)安装

pip install ACTP-1.0.3-py3-none-any.whl :前面测试了,正常。

(3.2)依赖程序

执行依赖ACTP的程序,OK。

建立和使用Python自定义模块:打包+pip安装

(3.3)pip list

看得到。

> pip list
Package            Version
------------------ --------
ACTP               1.0.3
certifi            2023.5.7
charset-normalizer 3.1.0
distlib            0.3.6
filelock           3.12.0
idna               3.4
piexif             1.1.3
Pillow             9.5.0
pip                23.1.2
platformdirs       3.5.1
py4j               0.10.9.2
pyspark            3.2.0
requests           2.30.0
setuptools         65.5.0
urllib3            2.0.2
virtualenv         20.23.0
wheel              0.40.0

(3.4)pip show

正常显示信息。
但show看不见我们在README.txt里面的写内容。

> pip show ACTP
Name: ACTP
Version: 1.0.3
Summary: 在奥诚科技的任务调度平台中更加方便的开发Python类型业务规则
Home-page: http://www.scaocheng.com/
Author: 曾如石
Author-email: ddrfan@163.com
License: Private
Location: ...\python310\lib\site-packages
Requires:
Required-by:

(3.5)pip uninstall

能卸载。文章来源地址https://www.toymoban.com/news/detail-496711.html

> pip uninstall ACTP
Found existing installation: ACTP 1.0.3
Uninstalling ACTP-1.0.3:
  Would remove:
    ...\python310\lib\site-packages\actp-1.0.3.dist-info\*
    ...\python310\lib\site-packages\actp\*
Proceed (Y/n)? y
  Successfully uninstalled ACTP-1.0.3

到了这里,关于建立和使用Python自定义模块:打包+pip安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python(pip)包/模块:如何离线安装?

    如果有同环境服务器,可直接生成requirements.txt,会把当前服务器下的包和版本写入文件中。 如安装指定包,创建requirements.txt,输入包名==版本号 // 只输入包名,默认最新版本。 例:xlwt==1.3.0 在requirements.txt目录下执行命令 执行时可能存在网络问题,下载失败。更换网络或指

    2024年03月13日
    浏览(44)
  • python--pip换源以及第三方模块安装

    pip install django 国外地址,速度慢 pip install django -i http://pypi.douban.com/simple/ 统一修改,以后都走豆瓣源 配置步骤: 1 去‘C:Usersxxxx’路径,在地址栏输入 %APPDATA% 敲回车,进入‘C:UsersxxxxAppDataRoaming’目录 2 新建 pip 文件夹并在文件夹新建pip.ini文件 3 新增 pip.ini 配置文件内

    2023年04月08日
    浏览(57)
  • 使用pip安装Pygame模块的教程

    Pygame是一个用于开发2D游戏的Python模块,它提供了丰富的功能和工具,使得游戏开发变得简单而有趣。在本教程中,我将向你介绍如何使用pip来安装Pygame模块,并提供相应的源代码示例。 步骤1:安装Python和pip 在开始之前,确保你已经安装了Python和pip。你可以从Python官方网站

    2024年02月21日
    浏览(49)
  • setup.py方式打包自己的python代码并可以用pip install安装

    注意setup.py文件和MANIFEST.in文件需要放在和你需要打包的目录同一级下 ,例如我这里需要打包的就是webconsole文件夹(这里webconsole文件夹指的是业务代码文件夹也就是我下图圈出来的文件夹,而不是最外层那个webconsole项目目录文件夹,因为我这里起了相同的文件夹名称,怕各

    2024年04月26日
    浏览(46)
  • Kali Python2.7安装pip2和模块方法

    kali的python2官方说不维护和更新了,但很多工具都是在python2.7环境下使用,下载模块需要用到pip2工具。 1. 安装setuptools-18.5 wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.5.tar.gz (这里我用windows下载到本地了,kali远程下载速度太慢!) tar -zxvf setuptools-18.5.tar.gz cd setu

    2023年04月20日
    浏览(37)
  • “Python3.12pip联网安装库文件出错,ssl模块不可用”的解决方法

    Python版本需要和openssl的版本需要相对匹配,在Python3.7之后的版本,依赖的openssl必须要是1.1.1或1.0.2之后的版本,而CentOS7安装的openssl1.0.2k无法其满足要求,这将会导致在使用pip命令在线安装库文件时出错。因此,需要升级openssl,最好是安装完openssl再重新编译安装python3。 使用

    2024年02月03日
    浏览(41)
  • python入门之:2、修改在CMD使用pip下载模块的默认存储路径与pycharm的模块默认读取路径

    pip.ini文件位置一般在C盘C:Users....AppDataRoamingpip 方式一、在cmd下执行指令,其中: D:myworkpythonvenvLibsite-packages为需要安装的pip安装源位置,具体如下所示: 方式二、直接在pip.ini文件中直接修改,第一行是镜像源,第二行是pip文件修改位置。 如果是刚配置的python环境,

    2024年02月04日
    浏览(65)
  • 科普:python怎么使用Pyinstaller模块打包成可执行文件

    创建个虚拟环境来打包,以免把整个系统的乱七八糟的pip的都打包进去,建议每个项目创建对应的虚拟环境。 比如: conda create -n myenv python=3.10 PS:还需要安装项目依赖的其他模块,建议用requirements.txt文件安装 -h,–help 查看该模块的帮助信息 -F,-onefile 产生单个的可执行文

    2024年02月08日
    浏览(58)
  • 【python】pip安装与使用

    pip介绍 pypi仓库 我们都知道python有很多的第三方库或者说是模块。这些库针对不同的应用,发挥不同的作用。我们在实际的项目中肯定会用到这些模块。那如何将这些模块导入到自己的项目中呢? Python官方的PyPi仓库为我们提供了一个统一的代码托管仓库,所有的第三方库,

    2024年02月08日
    浏览(36)
  • (python)使用清华镜像进行python的pip安装以及大量pip安装方法(只需一行代码,解决所有)

    我们在下载包的时候经常因为各种原因,导致出现网络错误和安装失败等多种情况!相信大家上网查询了很多钟方法,但未能解决。本次我将用最简洁的话为大家介绍,只需要一行代码将解决所有烦恼。 首先我们找到设置然后点击python Interpreter再点加号,如下图展示。 我们

    2024年04月24日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包