管理 Python 环境
分类: Python 14 0
pyenv 来管理 Python 版本
pyenv 是一个强大 Python 包管理工具,可以灵活地切换各种 Python 版本,使用 pyenv 来管理我们的 Python 版本,优雅高效且不会破坏掉系统自带的 Python 环境:
macOS 安装 pyenv
➜ brew install pyenv
接着为 pyenv 配置 shell 环境,提高工作效率,可自动联想 Tab 补全我们本地安装的 Python 版本:
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
pyenv 安装 Python
# 查看已经安装的Python版本
➜ pyenv versions
# 查看当前的 Python 版本
➜ pyenv version
# 查看可安装的版本
➜ pyenv install -l
# 安装与卸载 pypy3.8-7.3.11
➜ pyenv install pypy3.8-7.3.11
➜ pyenv uninstall pypy3.8-7.3.11
版本切换确实很方便,所安装的版本都在 ~/.pyenv/versions
目录下:
# global 全局设置 一般不建议改变全局设置
➜ pyenv global <python版本>
# shell 会话设置 只影响当前的shell会话
➜ pyenv shell <python版本>
# 取消 shell 会话的设置
➜ pyenv shell --unset
# local 本地设置 只影响所在文件夹
➜ pyenv local <python版本>
pyenv 的 global、local、shell 的优先级关系是:shell > local > global
Python 的 pip 管理工具
pipenv
是一个强大的工具,用于简化 Python 项目中的依赖管理和虚拟环境管理。以下是一些常见的 pipenv
用法示例:
更多关于 pipenv
的信息,可以查看它的官方文档:
安装 pipenv
首先,你需要确保已经安装了 pipenv
。你可以通过以下命令安装它:
pip install pipenv
创建和管理虚拟环境
创建一个新项目并初始化 **pipenv
** 环境:
mkdir my_project
cd my_project
pipenv install
安装一个新的包
pipenv
会自动创建一个虚拟环境(如果还没有创建),并将包安装到该虚拟环境中。
pipenv install requests
安装一个开发依赖包:
开发依赖包只在开发环境中需要,比如测试工具。
pipenv install --dev pytest
卸载一个包:
pipenv uninstall requests
激活虚拟环境:
激活虚拟环境后,你可以在其中运行 Python 命令和脚本。
pipenv shell
要退出虚拟环境,使用 exit
命令。
运行脚本而不激活虚拟环境:
如果你不想手动激活虚拟环境,可以使用以下命令直接在虚拟环境中运行脚本。
pipenv run python your_script.py
管理依赖文件
生成 Pipfile.lock
:
Pipfile.lock
文件记录了所有包的精确版本,保证项目的一致性。
pipenv lock
安装 Pipfile
中的所有依赖:
如果你克隆了一个包含 Pipfile
的项目,可以使用以下命令安装所有依赖。
pipenv install
检查包的安全性:
pipenv
提供了一个方便的命令来检查已安装的包是否有已知的安全漏洞。
pipenv check
其他有用的命令
查看已安装包列表:
pipenv graph
更新包:
pipenv update requests
或更新所有包:
pipenv update
清理未使用的包:
pipenv clean
查看虚拟环境路径:
pipenv --venv
查看 Python 解释器路径:
pipenv --py
这些命令和用法应该可以帮助你更有效地管理 Python 项目的依赖和虚拟环境。如果你需要更多信息和详细的用法,可以查看 pipenv 的官方文档。
例如:
# 安装 pipenv
pip install pipenv
mkdir my_project
cd my_project
# 初始化 pipenv 环境
pipenv install
# 安装模块 openpyxl
pipenv install openpyxl
# 激活虚拟环境,运行python,使用 exit 命令退出环境
pipenv shell
# 直接在虚拟环境中运行脚本
pipenv run python your_script.py
发表评论
昵称、邮箱为必填项,电子邮件地址不会被公开
加载中...