下面给出创建本地PyPI仓库的完整攻略,具体步骤如下:
第一步:安装并配置twine库
twine库是PyPI官方提供的一个上传Python项目的工具,我们需要先安装这个库,并且配置好自己的PyPI账号。
安装:在命令行中输入以下命令:pip install twine
配置账号:在命令行中输入以下命令,按照提示输入自己的PyPI用户名和密码即可:
twine register
第二步:编写Python项目并打包为wheel格式
在Python项目中编写好代码后,我们需要把这个项目打包成wheel格式的安装包。打包的命令如下:
python setup.py sdist bdist_wheel
执行这个命令后,工具会在当前目录下生成一个dist文件夹,里面包含了我们刚刚打包生成的两个文件:一个是.tar.gz格式的源码包,一个是.whl格式的二进制包。
第三步:上传到本地PyPI仓库
把打包好的wheel格式的文件上传到本地的PyPI仓库中即可。我们可以使用Python内置的SimpleHTTPServer模块快速的搭建一个本地的PyPI仓库,具体的步骤如下:
- 在命令行中进入之前生成的dist文件夹:
cd dist
- 在dist文件夹中启动SimpleHTTPServer模块:
python -m SimpleHTTPServer 8080
- 打开浏览器,在地址栏中输入
http://localhost:8080
,查看SimpleHTTPServer是否启动成功。 - 在命令行中使用twine上传wheel文件到本地PyPI仓库:
twine upload --repository-url=http://localhost:8080/ dist/*
- 上传成功后,我们就可以在本地使用pip安装这个项目了:
pip install package_name -i http://localhost:8080/simple/
示例说明:
示例一:将本地开发的工具包上传到本地的PyPI仓库
- 在命令行中进入工具包所在的目录,执行以下命令:
python setup.py sdist bdist_wheel
,生成dist文件夹与wheel文件。 - 在命令行中进入dist文件夹:
cd dist
- 在dist文件夹中启动SimpleHTTPServer模块:
python -m SimpleHTTPServer 8080
- 打开浏览器,在地址栏中输入
http://localhost:8080
,查看SimpleHTTPServer是否启动成功。 - 在命令行中使用twine上传wheel文件到本地PyPI仓库:
twine upload --repository-url=http://localhost:8080/ dist/*
- 上传成功后,我们就可以在本地使用pip安装这个工具包了:
pip install my_tool -i http://localhost:8080/simple/
示例二:将第三方库安装到本地的PyPI仓库
假设我们要将numpy这个第三方库上传到本地的PyPI仓库中:
- 在命令行中输入以下命令下载numpy库:
pip install numpy
- 在命令行中进入numpy库所在的位置,执行以下命令将numpy库打包为whl格式:
python setup.py bdist_wheel
- 在命令行中进入dist文件夹:
cd dist
- 在dist文件夹中启动SimpleHTTPServer模块:
python -m SimpleHTTPServer 8080
- 打开浏览器,在地址栏中输入
http://localhost:8080
,查看SimpleHTTPServer是否启动成功。 - 在命令行中使用twine上传wheel文件到本地PyPI仓库:
twine upload --repository-url=http://localhost:8080/ dist/*
- 上传成功后,我们就可以在本地使用pip安装numpy了:
pip install numpy -i http://localhost:8080/simple/
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python进阶教程之创建本地PyPI仓库 - Python技术站