Skip to main content

A python project environment build tool.

Project description

朴刀 podao

一个 Python 项目搭建脚手架,组合使用 pyenv、venv 和 pip 等工具搭建虚拟环境、分组依赖包。

Podao is an python project environment setup tool, it combines pyenv, venv, pip to ease the work to build an isolated environment for python project.

朴刀

朴刀是一种刀身窄长、刀柄较短的刀,装上“杆棒”后变为枪,名为朴刀枪,以“搠、刺”为主。

朴刀在《水浒传》里广为人知,印象里朴刀都很长,这是错的,正确的定义是,朴刀短柄,柄中空,是单手持握的短兵器,特点在于刀柄中空,旋入一根哨棒就可以当做长兵器使用,故尔武松等人都习惯手持哨棒,腰配朴刀,如此两件兵器可以在需要时合二为一。

如:“卢俊义取出朴刀,装在杆棒上,三个了丫儿扣牢了,赶著车子奔梁山泊路上来”,“武松握着朴刀,向玉兰心窝里搠着,两个小的,亦被武松搠死,一朴刀一个,结果了”。

优势 advantage

-使用 pyenv、venv 和 pip 搭建项目,零学习成本; -使用文件夹名作为 shell session 提示符,无随机字符、好看、有意义; -使用 pyproject.toml 和 requirements.txt 文件描述项目,不造轮子、零侵入;

局限 weakness

podao 只解决虚拟环境的搭建和依赖包的分组的问题,更具体的项目配置需要手动更改 pyproject.toml 文件。

安装 install

pip install podao

示例 examples

创建项目环境

pd init . 3.10.4
pd init ~/workspace/project_name 

安装软件包

pd install pytest -d
pd install 'ReportLab>=1.2' -g pdf

卸载软件包

pd uninstall requests

创建快照

pd freeze
pd freeze -a
pd freeze -d
pd freeze -g pdf

使用 usage

pd init dir [python]

pd init 命令使用 dir 目录和 python 版本创建虚拟环境,包括 src、test、pyproject.toml、LICENSE、README.md和.gitignore。使用目录名作为项目名、当前系统用户作为author、MIT 为默认 LICENSE、当前年份和系统用户作为 LICENSE 时间和用户。

  • dir - 项目目录,必填项,使用 . 表示当前目录
  • python - python 版本号,如果不指定 python,则使用当前系统安装的最高版本的python

pd install packages

pd install 命令使用当前虚拟环境的 pip install -U 命令安装 packages 所指定的包,并将包添加到 pyproject 的相应依赖组中。

  • -d - 将软件包添加到 optional-dependencies 表的 dev
  • -g - 将软件包添加到 optional-dependencies 表的指定的组
  • 不使用选项,将软件包默认安装到 dependencies 表

pd uninstall packages

pd uninstall 命令使用 pip uninstall 命令卸载 packages 所指定的包

pd freeze

pd freeze 命令结合 pip freezepyproject.toml 生成当前系统所需的软件包的版本快照到 requirements.txt 文件,然后使用 pip install -r requirements.txt 命令安装即可。

  • -d - 创建 dev 依赖和主依赖的版本快照
  • -a - 创建所有依赖的版本快照
  • 不适用选项,将创建主依赖的版本快照

source bin/activate

激活虚拟环境,会在 shell 提示符左侧显示当前虚拟环境的名字,即虚拟环境文件夹的名字。

pip install -r requirements.txt

将通过 requirements.txt 文件定义的虚拟环境快照按照到当前环境。

License

MIT © Li zhigang

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

podao-0.8.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

podao-0.8.1-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file podao-0.8.1.tar.gz.

File metadata

  • Download URL: podao-0.8.1.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for podao-0.8.1.tar.gz
Algorithm Hash digest
SHA256 95e8513a78e9a2a413f092bfe779ca02150f75dc78d77e9a45829df2e10fbe40
MD5 b6f9bfb510e1be644d4b667fd90715c7
BLAKE2b-256 0812e8e93b607c425d0730aaecb4ab5403dff11a1997bb9f82cc3ddb0e026329

See more details on using hashes here.

File details

Details for the file podao-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: podao-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for podao-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2cdc80da8ac9b969aa15665e2bb9fa9bede59abe21de4a7df6f205ffbcb51efa
MD5 4187961d39092db7a8b367a01f0cc83f
BLAKE2b-256 e9623984bb27816beb0b97c714dddbf0482ddc9badc0384a9da61c979177d185

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page