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)
相关推荐
Black_Rock_br19 分钟前
打通 PyTorch Monarch 与 ROCm:单 Controller 架构的异构算力实战
人工智能·pytorch·python·开源
其实防守也摸鱼25 分钟前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
weixin_BYSJ198727 分钟前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
风痕天际1 小时前
Pytorch开发教程1——CUDA安装
人工智能·pytorch·python
geovindu1 小时前
python: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·python·算法·搜索算法
程序员果子1 小时前
CrewAI :当 Agent 学会团队协作
人工智能·git·python·多智能体·agent框架
玉鸯1 小时前
向量检索不是记忆:Agent 记忆的三层进化
python·agent
大模型码小白1 小时前
Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)
java·人工智能·python·机器学习
runafterhit1 小时前
python基础语法命令(C程序员刷leetcode)
c语言·python·leetcode
paeamecium1 小时前
【PAT甲级真题】- Kuchiguse (20)
数据结构·c++·python·算法·pat考试·pat