如何将自己的python代码发布在pip install给别人使用你知道吗

  • Post category:Python

当你编写了一些Python代码可以供别人使用时,你可以将这些代码发布到Python软件包分发平台pipinstall中,让其他人可以方便地使用你的代码。以下是将自己的Python代码发布在pipinstall上的步骤:

  1. 创建一个项目

在本地创建一个项目,并确保该项目遵循Python的通用项目结构(UPP)。这个项目可以包含多个Python模块和包,但必须还要有一个特殊的文件——setup.py,用来描述你的项目。

  1. 创建setup.py文件

setup.py 文件的作用是告诉pip install该项目的安装要求以及如何将其打包。setup.py文件应该包含如下信息:

  • 项目名称(name)和版本号(version)
  • 项目简介(description)和详细描述(long_description)
  • 作者信息(author, author_email)
  • 许可证信息(license)
  • 依赖项(install_requires或 requirements.txt)
  • 其他一些必要的元数据信息

以下是一个示例setup.py文件的代码:

from setuptools import setup, find_packages

setup(
    name='mypackage',
    version='0.1',
    description='My Python package',
    long_description='A longer description of my Python package',
    author='My Name',
    author_email='myemail@example.com',
    packages=find_packages(),
    install_requires=[
        'numpy',
        'matplotlib'
    ],
    license='MIT'
)

在以上示例中,我们指定了该项目的名称为mypackage,版本号为0.1,作者为My Name,依赖于numpy和matplotlib两个模块,使用MIT许可证进行分发。

  1. 打包项目

要将Python项目发布到Python软件包分发平台,需要先将其打包。可以使用以下命令将其打包:

python setup.py sdist bdist_wheel

该命令将生成两个文件,一个 .tar.gz 文件和一个 .whl 文件,其中.tar.gz 文件是源码包,.whl 文件是预编译的二进制包。这两个文件将用于在pipinstall上发布你的Python代码。

  1. 注册一个pipinstall账号

在将自己的Python代码发布到pipinstall上之前,你需要注册一个pipinstall账号,用于上传和管理你的Python软件包。

  1. 上传软件包

要将Python软件包上传到pipinstall上,可以使用以下命令:

twine upload dist/*

该命令将上传dist目录中的所有文件到pipinstall上。在上传时系统会提示输入pipinstall账号和密码。

  1. 安装你的软件包

要安装你在pipinstall上发布的软件包,使用以下命令:

pip install mypackage

!pip install -i https://pypi.org/simple/ mypackage

在以上命令中,mypackage是你的软件包名称。

示例1:

如果我们要发布一个名为“hello”、版本号为“1.0”的Python软件包,依赖于requests模块,使用MIT许可证发布。我们可以按照以下步骤进行操作:

  1. 创建一个名为“hello”的目录,进入这个目录,创建名为“setup.py”的文件。文件内容如下:
from setuptools import setup, find_packages

setup(
    name='hello',
    version='1.0',
    description='My Python package',
    long_description='A longer description of my Python package',
    author='My Name',
    author_email='myemail@example.com',
    packages=find_packages(),
    install_requires=['requests'],
    license='MIT'
)
  1. 打包项目。在命令行中进入“hello”目录,运行如下命令:
python setup.py sdist bdist_wheel
  1. 注册pipinstall账号。前往https://pypi.org/,注册一个新账号(如果你已有账号则跳过)。

  2. 上传软件包。在命令行中进入“hello/dist”目录下,运行如下命令:

twine upload *
  1. 安装你的软件包。在命令行中运行如下命令:
pip install hello

示例2:

假设你的Python代码不依赖于外部模块,你发布了一个名为“mycode”的Python模块,代码如下:

def hello():
    print("Hello, World")
  1. 创建一个名为“mycode”的目录,在目录中创建一个名为“setup.py”的文件和一个名为“mycode.py”的文件:

  2. setup.py文件内容如下:

from setuptools import setup

setup(
    name='mycode',
    version='1.0',
    description='My Python package',
    long_description='A longer description of my Python package',
    author='My Name',
    author_email='myemail@example.com',
    py_modules=['mycode'],
    license='MIT'
)
  • mycode.py文件内容如下:
def hello():
    print("Hello, World")
  1. 打包项目。在命令行中进入“mycode”目录,运行如下命令:
python setup.py sdist bdist_wheel
  1. 注册pipinstall账号。前往https://pypi.org/,注册一个新账号(如果你已有账号则跳过)。

  2. 上传软件包。在命令行中进入“mycode/dist”目录下,运行如下命令:

twine upload *
  1. 安装你的软件包。在命令行中运行如下命令:
pip install mycode

以上就是将自己的Python代码发布在pipinstall上的完整攻略。