Python开发环境配置(mac M2)

1. 前言

  • 作为一名程序员,工作中需要使用Python进行编程,甚至因为项目需要还得是不同版本的Python

  • 如何手动管理多个版本的Python,如何给Pycharm(IDE)配置对应的interpreter等,都成为一个 "不熟练工" 的难题

  • 笔者刚拿到mac M2的电脑时,系统好像自带了 Python2 和 Python3,可以通过如下命令开启对应版本的python解释器

    bash 复制代码
    python # 启动python2解释器
    python3 # 启动python3解释器
  • 甚至为了让python能默认开启Python3解释器,还配置了alias

    bash 复制代码
    alias python=python3
    alias pip="python -m pip" # 让pip随python变化
  • 但是,除了 Python2 和 Python3,甚至笔者还需要安装其他版本的Python3

  • 本文将介绍如何通过pyenv安装并管理Python环境、如何在Pycharm中设置Python解释器等

2. pyenv:安装和管理多版本Python的利器

2.1 安装pyenv

  • 关于如何在mac OS安装pyenv,其实pyenv官网的介绍非常详细

  • 目前,笔者的mac的~/.zshrc中 pyenv 的配置如下,与官往不同,也 work ok

    bash 复制代码
    export PYENV_ROOT=~/.pyenv
    export PATH=$PYENV_ROOT/shims:$PATH

2.2 通过pyenv安装并管理多个Python版本

  • 一些简单命令介绍如下,具体查看官方文档:Usage
    • 通过pyenv安装Pyhton

      bash 复制代码
      # 查看pyenv支持版本
      pyenv install -l 
      # 选择对应的版本进行安装,如:安装3.9.6
      pyenv install 3.9.6
    • 查看已安装的Python版本

      bash 复制代码
      # 查看pyenv已经安装好的Python版本,其中以 * 开头的版本是目前正在使用的版本
      pyenv versions
      # 查看当前使用的Python版本
      pyenv version
    • 为当前用户或当前目录设置Python版本

      bash 复制代码
      pyenv global xxx # 设置当前用户的Python版本
      pyenv local xxx # 设置当前目录的Python版本

3. Pycharm:为项目设置Python解释器

  • 本节将介绍如何给Pycharm中的项目配置本地安装的Python解释器

3.1 准备工作:了解Python的安装目录

  • 所谓的Python安装目录, 一般是指python命令所在的目录

  • 可以通过如下python代码,查看当前python命令的目录

    python 复制代码
    # 写入1.py,通过python 1.py查看python命令的目录
    import sys
    print(sys.executable)
  • 通过pyenv安装的python,其python命令的目录一般都是有规律:

    bash 复制代码
    ~/.pyenv/versions/2.7.18/bin/python
    ~/.pyenv/versions/3.9.6/bin/python

3.2 为项目设置Python解释器

  • 进入Settings → \rightarrow → Project
  • Python Interpreter → \rightarrow → Add Interpreter → \rightarrow → Add Local Interpreter...
  • 添加本地已经安装的python
  • 参考文档:pycharm中配置Python解释器(最新)

3.3 附录:如何查看pip命令的安装目录

  • 可以直接通过如下命令查看pip命令的安装目录:~/.pyenv/versions/2.7.18/lib/python2.7/site-packages/pip

    bash 复制代码
    pip --version
  • 也可以通过python脚本打印pip命令的目录

    python 复制代码
    import os
    from distutils.sysconfig import get_python_lib
    
    pip_path = os.path.join(get_python_lib(), 'pip')
    print(pip_path)
相关推荐
言乐62 小时前
Python关键词抓取目标网站
python·django·virtualenv·pygame·tornado
用户7783366132112 小时前
搜索页的 URL 状态管理:可分享、可回退、可刷新
python·api
Liaiyang662 小时前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
liuchangng2 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
微小冷2 小时前
patsy:Python中的统计建模语法
python·统计·建模·patsy·statmodels
我是神62 小时前
抖音直播QQ估价直播软件exe详解
python·tkinter·qq评估
2601_966949653 小时前
为什么量化回测中 for 循环比 DataFrame 慢三个数量级?从向量化原理讲起
开发语言·python·pandas·股票数据·quantdash
打工仔折腾 AI3 小时前
用 Docker 部署 Excalidraw 手绘白板并配置固定公网访问的完整实践
人工智能·后端·python
2601_962885725 小时前
A股数据源和 API 怎么选?(2026 全景选型指南 + 决策树)
python
Ticnix5 小时前
别再手动上线了:一条命令带备份、健康检查和自动回滚
后端·python·ci/cd