一、安装pyenv与python
- step1:使用 Homebrew 来安装 pyenv:
brew install pyenv
- step2:添加环境变量。把 pyenv 添加到 shell 的环境变量配置文件中。若使用的是 Zsh(macOS 默认 shell):
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
- step3:应用环境变量更改。执行以下命令,让配置的环境变量立即生效:
source ~/.zshrc # 如果你使用的是 Zsh
# 或者
source ~/.bash_profile # 如果你使用的是 Bash
step4:验证安装结果。通过以下命令检查 pyenv 是否安装成功:
pyenv --version
如果安装成功,会显示类似 pyenv 2.3.23 这样的版本信息。
step7:安装指定python版本。
pyenv install 3.12.0 # 安装 Python 3.12.0
# 或安装最新的 3.12.x 版本
pyenv install 3.12 # pyenv 会自动选择最新的 3.12 子版本
pyenv global 3.12 # 设为全局默认
执行python --version
查看当前系统级python版本,输出python版本号证明python安装成功(需先设为全局默认)。
二、安装poetry
- step1: 安装poetry。Poetry 提供了官方安装脚本,推荐使用此方法:
# 1. 使用官方安装脚本(推荐)
curl -sSL https://install.python-poetry.org | python3 -
# 2. 验证安装
poetry --version # 应显示版本号,如 "Poetry (version 1.6.1)"
- step2:添加环境变量。如果安装后无法找到 poetry 命令(poetry – version不显示版本号),需要手动添加 Poetry 的二进制目录到 PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # zsh
source ~/.zshrc
三、使用Poetry创建Python项目
- step1:创建项目。切换到指定目录下,这是code目录:
# 进入 code 目录
cd ~/code # 假设 code 是你的项目根目录
# 创建新项目(自动生成项目结构)
poetry new my-project
# 进入项目目录
cd my-project
- step2:为当前项目指定python版本。
# 方法 1:创建项目时指定
poetry new my-project --python=3.12 # 或 poetry new my-project -p 3.12
# 方法 2:项目已存在时指定
cd my-project
poetry env use $(pyenv which python) # 使用 pyenv 当前激活的版本
# 或直接指定版本号
poetry env use 3.12.0
- step3:验证python版本
poetry run python --version
- step4:添加依赖
# 添加生产依赖
poetry add requests pandas
# 添加开发依赖(如测试工具)
poetry add --group dev pytest black
- step5:运行项目
使用 poetry run 执行命令,确保在 Poetry 创建的虚拟环境中运行:
# 执行 Python 脚本
poetry run python src/my_project/main.py # 根据你的项目结构调整路径
# 进入交互式 shell
poetry shell
- step6:查看项目结构。差不多是如下这种形式:
my-project/
├── pyproject.toml # Poetry 配置(依赖、脚本等)
├── poetry.lock # 锁定依赖版本
├── src/ # 源代码目录
│ └── my_project/
│ ├── __init__.py
│ └── main.py
├── tests/ # 测试目录
│ ├── __init__.py
│ └── test_main.py
├── .gitignore # Git 忽略规则
└── README.md # 项目说明