无痛搭建mac python运行环境

280 阅读3分钟

因为是前端切图仔,因为工作安排需要简单运行算法项目并开发一些简单的需求。所以有了从0-1的搭建经历。因为项目搭建好的成员都是window,所以只能自己摸着石头过河了。历时一天,记录下过程

主要流程

  1. 选择IDE并安装
  2. 安装Python包管理器,切换项目需要的python版本
  3. 修复import cv2报错
  4. 修复文字绘图乱码,mac中文字体不存在

一、选择IDE并安装

可选的开源IDE有vscode和pycharm,因为pycharm更适合python,选择的是pycharm 安装pychar:www.jetbrains.com/zh-cn/pycha…

二、安装Python包管理器

包管理可选的有anaconda和miniconda,区别可以参考文章。因为作为新手想要大而全的,所以选择anaconda。

anaconda下载地址:www.anaconda.com/download

pycharm添加anaconda配置

点击右上角设置图标-偏好设置(快捷键,)-项目-Python解释器-添加解释器-添加本地解释器-环境选择生成新的-选择自己想要的版本和输入环境名称(激活要用到名称,后续安装插件也在这个名称下)-确定完成

打开偏好设置 image.png

添加解释器 image.png

生成新的环境 image.png

也可以命令行创建虚拟环境,再在解释器选择现有-选择创建好的环境

// 创建虚拟环境 conda create -n 环境名称 python=版本号

conda create -n test-PythonProject python=3.8

选择创建好的环境 image.png

激活conda虚拟环境并安装插件

// conda activate 环境名称
conda activate test-PythonProject

安装示例

pip install opencv-python

测试运行 打开python控制台-输入代码执行

测试安装好opencv-python import的效果,不报错则环境没问题 image.png

三、调试import cv2报错,无此需求可以直接跳过

  • 查看软件包是否包含opencv-python
  • 排查是否激活虚拟环境安装插件,环境和解释器一致
  • 看报错信息 我当时执行的时候,由于之前brew安装ffmpeg失败所以运行报错,报错信息如下
import cv2 Library not loaded: '/opt/homebrew/opt/ffmpeg/lib/libavcodec.60.dylib'

解决方案是重装ffmpeg,一直安装很慢,原来是没设置安装源,命令如下

brew uninstall ffmpeg
$ git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
brew install ffmpeg

如果有一些其他brew的问题,可以用brew doctor诊断,根据输出结果对应修改

三、修复文字绘图乱码,mac中文字体不存在

  • 查询是否没有程序所用的字体
  • 添加字体到电脑
  • 修改python字体设置文件

命令行查询程序所用的字体是否存在

fc-list | grep "simhei"

下载对应的字体文件(.ttf/.ttc),字体文件目录打开终端,执行命令

# 复制所有字体到 macOS 系统字体目录
sudo cp * /Library/Fonts/
# 或者安装到当前用户目录(无需管理员权限)
cp * ~/Library/Fonts/

# 强制刷新字体缓存
sudo atsutil databases -remove

修改mac字体加载文件

# pycharm终端激活环境
conda activate python3.8 
# 查询文件所在位置
python -c "import site; print(site.getsitepackages())"

打开site-packages所在位置,打开pybaseutils/image_utils.py,查询def get_font_type,添加下面代码到对应位置

elif platform.system().lower() == 'darwin':
        font = ImageFont.truetype('/Library/Fonts/simsun.ttc', size, encoding="utf-8") # simsun.ttc 宋体

image.png

再执行文字画图就不会乱码了

做完以上配置可以正常开发了

AI辅助

pycharm可以安装AI Assistant使用ai生成代码功能

或者使用Trae IDE 智能生成项目代码,很适合新手学习新语言 api不熟的情况

image.png