Just a pip package example
Project description
Installation
$ [sudo] pip install exampe_pip_package
Features
- example for add a new pip package.
- add some doc about learn how to release a pip package.
Classes
class | __doc__ |
---|---|
exampe_pip_package.pip_test |
Examples
>>> from exampe_pip_package import pip_test
>>> example = pip_test()
>>> example.get_info()
Hello, this is just a pip package example.
Package name is exampe_pip_package
PIP 包生成发布使用学习文档
源代码项目结构
│ LICENSE // 证书,可以任选一个的
│ README.md // 说明文档
│ setup.py // 安装包
│
├─exampe_pip_package // 源代码目录
│ __init__.py // 源代码文件
│
└─tests-exampe_pip_package-examples // 测试源代码的目录
└─pip_test.get_info // 按照类来进行测试子目录的命名
pip_test.get_info // 按照方法来命名测试类文件
安装必要的软件
安装生成归档文件的软件
python -m pip install --user --upgrade setuptools wheel
安装发布上传包
python -m pip install --user --upgrade twine
注册 PYPI 账号
Note: 测试账号和正式账号注册一次就可以的,但是要分别去认证可发布的邮箱。
打包和发布
生成发布包(生成归档文件)
python setup.py sdist bdist_wheel
注册包
twine register dist/exampe_pip_package.whl
发布
发布到测试环境
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
发布到正式环境
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
发布说明
E:\selfDatas\exampe_pip_package>twine upload --repository-url https://test.pypi.
org/legacy/ dist/*
Enter your username: 输入用户名,不是邮箱
Enter your password: 输入密码
Uploading distributions to https://test.pypi.org/legacy/
……
包管理
包已经上传成功的话,可以登录 PyPI 网站 可以在右侧导航栏看到管理入口。 点击包名进去后你可以对你的包进行管理。
发布成功后安装(pip install 方式)
测试包的安装
pip install -i https://test.pypi.org/simple/ exampe-pip-package
正式版本的安装
pip install exampe-pip-package
更新包,可以使用
--upgrade
参数来更新
pip install exampe-pip-package --upgrade
安装包后的使用
import 方式使用
>>> from exampe_pip_package import pip_test
>>> example = pip_test()
>>> example.get_info()
Hello, this is just a pip package example.
Package name is exampe_pip_package
发布成功后安装(requirements 方式使用)
目录结构
E:.
main.py # 需要使用包的代码
requirements.txt # 需要使用到包的包名
run.sh # 安装包并执行文件
免授权方式发布
在 Home 目录下创建文件
~/.pypirc
,内容如下
[distutils]
index-servers = pypi
[pypi]
repository: https://pypi.python.org/pypi
username: <username>
password: <pass> # 不设置的话,发布时会提示手动输入的
可能遇到的错误
错误的用户验证信息,你需要创建一个用户验证文件 ~/.pypirc。请参阅上文。
Upload failed (403): Invalid or non-existent authentication information.
你需要先注册你的包才可以开始上传,运行注册命令:
python setup.py register
Upload failed (403): You are not allowed to edit 'xxx' package information
你的 PyPI 账户还没完成邮箱验证,你需要去注册邮箱找到一封验证邮件完成验证后再重试失败的步骤。
Server response (401): Incomplete registration; check your email
你的 setup.py 文件中的 classifier 信息有误,请按官网的正确分类书写classifier.
Server response (400): Invalid classifier "Topic :: Software Development :: Utilities"
你还没打包就开始了上传命令,建议打包和上传的操作放在一起做,比如:
twine upload dist/*
error: No dist file created in earlier command
网络问题,请再次尝试
error: Upload failed (499): Client Disconnected
每次必须使用不同的版本号,所以建议先在测试版测试好了,再在正式版发布的。
Upload failed (400): File already exists
更多相关信息,见官方文档。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file exampe_pip_package-0.0.4.tar.gz
.
File metadata
- Download URL: exampe_pip_package-0.0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceb5af5b0e19439c78f06649057ccf2b5f6e21fa71bee36663a85f48c8f6c41a |
|
MD5 | e39542e93314ce1d46d6c6c2e6f98ff1 |
|
BLAKE2b-256 | c8cd52c6673921e97acc55783099a439b69d3306d9f3c23aadfc6672c913beee |
File details
Details for the file exampe_pip_package-0.0.4-py2-none-any.whl
.
File metadata
- Download URL: exampe_pip_package-0.0.4-py2-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b89b14485bea33823c0c856ba1ca2937280e2bc1f79ffc15c4f04edac725f4a |
|
MD5 | f686262bc0e3777fbbe59400cdec5349 |
|
BLAKE2b-256 | 5f538e63022bec6802cc028e589fdf45217b4443e40a7bb0236608253db33e11 |