记一次python简单打包自己的库

记一次python简单打包自己的库

Posted by Hzy on March 22, 2020

如何用pip install 自己的库?下面记录一些我遇到的问题。

1.首先要明白,pypi有测试服和正式服,我们尝试把自己的包发布到测试服上。

2.我们需要先到 https://test.pypi.org/ 上注册一个账号。

然后需要一次邮箱确认,然后呢我来添加一个api token,在上传我们的库时需要用到。

3. 接下来,创建一个setup.py,当然你得setuptools这个库。

一个简单的配置文件,如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import setuptools

with open("README.md", "r") as fh:
    long_description = fh.read()

setuptools.setup(
    name="example-pkg-your-username",
    version="0.0.1",
    author="Example Author",
    author_email="author@example.com",
    description="A small example package",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/pypa/sampleproject",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
)

想要了解更好,可以去官网看看,里面讲的十分详细 https://packaging.python.org/tutorials/packaging-projects/

4.假设你已经编辑好了setup.py文件,可以尝试使用打包啦。

1
python setup.py sdist

然后你会看到你文件夹下面生成了一个文件夹。

5. 打包好了,就需要上传到测试服务器上去!

我们安装 pip install twine 库

然后使用 twine upload dist/* 来上传我们的库,会要求输入username和password

  • username: __token__
  • password: 我们刚刚得到api token

然后你就能看到自己的库被上传上去啦,接下来就可以愉快的pip install了。

6.当你有新版本的时候,你可以使用twine upload –skip-existing dist/* 来忽略已经存在的库。