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)
相关推荐
张张123y2 小时前
后端第一课:输入 URL 后发生了什么?我用手写 Socket 把全链路跑通了
python·websocket·ai·socket·url·后端开发
全栈弄潮儿4 小时前
Python实战第7期:字典与集合
后端·python·编程语言
2603_965148114 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
xixiaoyunya5 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
把我格子衫拿来5 小时前
Dice 很高就够了吗?分割评价中的 IoU、表面距离与 HD95
python·图像分割·模型评估·医学影像·dice
曲径海盗5 小时前
【Python 学习第 31 天】复习:变量与数据类型 等 3 题
python·学习笔记·编程入门
Data_Journal5 小时前
如何绕过 Cloudflare:网页抓取的最佳方法
网络·python
我命由我123456 小时前
智能助手通用问答边界
人工智能·python·学习·ai·学习方法·ai编程·智能体
Angeldream1236 小时前
第 4 章 医学影像预处理
图像处理·人工智能·python·医学影像·医学影像处理
Web3&Basketball6 小时前
实测Gemini4Argon:ERQA 87%登顶长程任务榜
数据库·python·大模型·多模态·gemini·长上下文·推理优化