pypi上如何上传自己的python代码并使用

1,下载一个叫做twine的库,上传的时候会用到

pip install -i https://pypi.douban.com/simple/ twine

2,新建一个python package的包,包的名字就是你上传代码的名字
在这里插入图片描述
我这里上传代码的名字就是changesuffix
__init__py是新建python package自己生成的,不用管。
suffix.py是自己写的代码,名字随便起
suffix.py


import os

def rename_file_extension(directory, old_extension, new_extension):
    for filename in os.listdir(directory):
        if filename.endswith(old_extension):
            current_path = os.path.join(directory, filename)
            new_path = os.path.join(directory, os.path.splitext(filename)[0] + new_extension)
            os.rename(current_path, new_path)
            print(f"Renamed {current_path} to {new_path}")

# 替换文件后缀名
directory = "G:\PythonPrjs\changesuffix\images"  # 目标文件夹路径
old_extension = ".webp"  # 原文件后缀名
new_extension = ".jpg"  # 新文件后缀名
rename_file_extension(directory, old_extension, new_extension)

3,在项目的根路径下,新建一个setup.py的文件
在这里插入图片描述
setup.py

import setuptools
setuptools.setup(
    name="changesuffix", #库的名字
    version='0.0.1', #库的版本号,后续更新的时候只需要改版本号就行
    author="", #你的你的名字
    description="", #介绍
    long_description_content_type="text/markdown",
    url='https://github.com/',
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
)
#注意:没有注释的地方不要改

4,启动自己的setup.py

python setup.py sdist

在这里插入图片描述
这时候文件就会多两个文件夹
在这里插入图片描述
一个是dist
一个是changesuffix.egg-info
接下来,我们需要暂停,然后去往pypi官网
你需要在里面注册一个账号,记住账号和密码,然后验证邮箱(注册时需要绑定邮箱,然后需要你去邮箱里确认操作,所以不要提供假邮箱……如果在邮箱里找不到pypi发给你的消息,可以去“垃圾广告”里面看看),一定要记住密码和账号!
现在,再在命令行中输入如下内容:

twine upload dist/*

然后会出现提示,按照提示输入你在pypi上的用户名和密码(注意密码是不显示的,只管输入就行)
在这里插入图片描述

如何使用自己上传的python库

上传完成之后会给你个链接,点进去,就会看到如何如何了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,这是一个比较复杂的问题,需要分步骤来解答。 首先,我们需要在本地搭建一个PyPI服务器,以便我们能够将自己写的Python代码打包,并能够在其他地方下载使用。在这里,我们可以使用Docker Compose来快速搭建一个PyPI服务器。 以下是搭建PyPI服务器的步骤: 1. 创建一个文件夹,用于存放Docker Compose配置文件和PyPI服务器的数据。在这里,我们假设这个文件夹的路径为 `/path/to/pypi`。 2. 创建一个名为 `docker-compose.yml` 的文件,并将以下内容复制进去: ```yaml version: "3.8" services: pypi: image: pypiserver/pypiserver:latest volumes: - ./data:/data ports: - "8080:8080" ``` 这个配置文件定义了一个名为 `pypi` 的服务,使用 `pypiserver/pypiserver:latest` 镜像来启动PyPI服务器。我们将 `/data` 文件夹挂载到了容器内部的 `/data` 目录,以便保存PyPI服务器的数据。我们还将容器的 `8080` 端口映射到了主机的 `8080` 端口,以便我们能够通过浏览器访问PyPI服务器。 3. 在 `/path/to/pypi` 文件夹中创建一个名为 `data` 的文件夹,用于保存PyPI服务器的数据。 4. 运行 `docker-compose up -d` 命令启动PyPI服务器。 现在,我们已经成功搭建了一个PyPI服务器。接下来,我们需要将自己写的Python代码打包成包,并上传PyPI服务器上。 以下是打包并上传Python包的步骤: 1. 在你的Python代码所在的文件夹中创建一个名为 `setup.py` 的文件,并将以下内容复制进去: ```python from setuptools import setup, find_packages setup( name="your-package-name", version="0.1.0", packages=find_packages(), install_requires=[ # List your dependencies here ], entry_points={ 'console_scripts': [ # List your console scripts here ] } ) ``` 在这个文件中,你需要将 `your-package-name` 替换成你的Python包的名称,并在 `install_requires` 中列出你的包的依赖项。 2. 在你的Python代码所在的文件夹中创建一个名为 `README.md` 的文件,并将你的包的描述信息写在里面。 3. 在你的Python代码所在的文件夹中运行以下命令打包你的Python代码: ``` python setup.py sdist ``` 这个命令会在当前文件夹下创建一个名为 `dist` 的文件夹,并将打包好的Python包保存在里面。 4. 在 `dist` 文件夹中运行以下命令,将你的Python上传PyPI服务器: ``` twine upload --repository-url http://localhost:8080/ dist/* ``` 这个命令会将 `dist` 文件夹中的所有文件上传PyPI服务器。注意,我们使用了 `http://localhost:8080/` 作为PyPI服务器的URL,因为我们搭建的是本地PyPI服务器。如果你使用的是其他的PyPI服务器,需要将这个URL替换成相应的地址。 现在,你已经成功将自己写的Python代码打包成包,并上传到了PyPI服务器上。其他人可以通过运行以下命令来安装你的包: ``` pip install your-package-name ``` 请注意,其他人需要先将你的PyPI服务器添加到他们的pip配置文件中,以便能够下载你的包。他们可以通过在他们的 `~/.pip/pip.conf` 文件中添加以下内容来实现: ``` [global] index-url = http://localhost:8080/simple ``` 这个配置文件会将你的PyPI服务器添加到pip的软件源中,以便其他人可以通过pip下载你的包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是梦磊OL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值