macOS 的 Python 环境二三事

第一事,Install Caffe

若干月之前,打算装一下 caffe,跑一下组里同学做的网页视频检测 demo。发现安装完毕后 make run test ok, 但 make run pytest会 segmentation fault。

一波猛于虎的操作之后,发现是本地环境扑街了。大多数 MLer 都会装一个 anaconda 版本的 python,但是有时候系统 python(/Library/Python) 总是会不敢寂寞的出来捣捣乱,网上的解决办法是强制关联一次即可:

《macOS 的 Python 环境二三事》 image.png

第二事,Swift 中的 Python

最近闲暇时把玩 Swift for Tensorflow, 其中需要重点使用 Python 模块来偷偷懒。比如

import Python
let np  = Python.import("numpy")

很愉快的完成了,但是当我撸起袖子开始干活,输入以下代码时:

let pd = Python.import("pandas")

又双叒叕来了一波segmentation fault,呵,小样儿,又不是第一次段我了,多大个事儿啊

开始分析原因,原因很简单,本质还是 python 中没有 pandas 呗,但是我明明有啊,terminal import 毫无鸭梨。

马上就想到看来又双叒叕是 python 环境的问题。我本地一共三个 python 环境,一个 Library/Python, 一个 anaconda python,还有一个用来跑 tf 的 virtualenv。

terminal 里 sys.path 一波 print,发现我终端应该是第二个,那看来就是系统 python 没装 pandas 了呗。所以现在问题就变成了,我当前所有环境都是 anaconda python,要么尝试给系统 python 装个 pandas,要么让 swift toolchain 来读我的 anaconda python

swift toolchain 现在处于一天段我八百次的状态,我果断选择了方式1.

export PYTHONUSERBASE=/Library/Python/2.7/site-packages
sudo pip install --user --upgrade pandas

齐活儿,记得一定要加 upgrade,不然 pip 会因为你当前环境已经有 pandas 而跳过安装。

第三事,python 环境的正确姿势

肯定是能上 virtualenv 都上 virtualenv 啊那还用说……

那现在问题来了,能不能让 xcode toolchain 来读 virtualenv 呢? 我还没研究,有知道的大佬麻烦指点一下。

    原文作者:aaaron7
    原文地址: https://www.jianshu.com/p/0568f93c58ed
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞