prerequisites
标准的流程可以参考 官方文档
需要安装的pip包有
1
| pip install poetry twine
|
另外需要在 PyPI 上注册账号
poetry 的便利之处是可以
- 通过
poetry new
创建项目脚手架 - 通过
poetry init
初始化当前项目
对于一个简单的项目 比较有趣的事情是添加可选项配置与添加命令行命令
一个简单的项目如下
1
2
3
4
5
6
7
8
| .
├── demo
│ ├── cli.py
│ └── __init__.py
├── pyproject.toml
├── README.md
└── tests
└── __init__.py
|
1
2
3
| # cli.py
def entry():
print("Hello, world!")
|
可以在pyproject.toml
中配置
1
2
3
4
5
| [tool.poetry.extras]
np = ["numpy"]
[tool.poetry.scripts]
demo = "demo.cli:entry" # 最后目标是一个 callable
|
安装这个包之后 可以在命令行调用
package
build 之后就能在 dist 目录下看到对应的打包产物了
upload
上传到 PyPI 需要 API token 点击这里可以新增token
1
2
3
4
5
6
7
| # username 就是 __token__ 这个字符串
# YOUR_API_TOKEN 就是新增的token对应的值
cat << EOF > ~/.pypirc
[pypi]
username = __token__
password = <YOUR_API_TOKEN>
EOF
|
poerty publish
在我使用过程中有点问题 所以只能使用传统方案 twine
python3 -m twine upload --repository testpypi dist/*