pdm
github, A modern Python package manager with PEP 582 support. 仅在__pypackages__/<major.minor>包含必要的依赖和bin文件,没有解释器相关文件 就算python解释器被删除了,但是只要有其他符合pyproject.yoml规定版本的解释器即可,项目目录下的__pypackages__不包含解释器相关的内容,venv则必须重新关联或者重新创建 $ tree -L 3 __pypackages__ __pypackages__ └── 3.10 ├── bin │ ├── django-admin │ └── sqlformat ├── include └── lib ├── Django-4.0.1.dist-info ├── anyio ├── anyio-3.5.0.dist-info ├── asgiref ├── asgiref-3.4.1.dist-info ├── django ... install brew install pdm demo mkdir pdm-demo cd pdm-demo pdm init Creating a pyproject.toml for PDM... Please enter the Python interpreter to use ... 12. /usr/local/Cellar/pdm/1.12.2/libexec/bin/python3.10 (3.10) Please select: [0]: 12 Using Python interpreter: /usr/local/Cellar/pdm/1.12.2/libexec/bin/python3.10 (3.10) Is the project a library that will be uploaded to PyPI? [y/N]: N License(SPDX name) [MIT]: Author name [26huitailang]: Author email [26huitailang@gmail.com]: Python requires('*' to allow any) [>=3.10]: Changes are written to pyproject.toml. PDM 1.12.2 is installed, while 1.12.6 is available. Please run $ brew upgrade pdm to upgrade. Run $ pdm config check_update false to disable the check. init files ...