又一次作业需要使用 python2.7,我的 windows 上还是只有 3.6,我本来打算跑到 Ubuntu 虚拟机上去写,结果在安装 jupyter 时出现了各种奇怪的问题,刚开始是说 python 2.7 使用 Ipython 要找低版本,我就选了 5.5.0,结果 jupyter 还是安装不下来,各种奇葩错误搜了一晚上。按说这种情况下似乎只能重装 python 了,所以我又跑回了 windows,去装 Anaconda 了。我终于放弃了 pip,放弃了伪程序员最后的一点尊严……
今天早上安装了一次 Anaconda2(py2.7),安装在 c:\anaconda 下,因为一心保持全局环境的清洁,没有勾选“加入环境变量”,但是勾选了“作为系统默认的 py2.7”。后来在创建新环境的时候网络一直不好,不知道出了什么问题,各种库都出问题,连 conda 自己都更新不动了,应该又是坏了……
找到了 Anaconda 的卸载程序,果断卸掉,这次要配一个更干净的环境!重新安装了 Anaconda,不过这次安装了 3,打算去里面再建立一个环境安装 2.7。这次,既没有加入环境变量,也没有作为系统默认的,可以说是完全和全局的 py 分开了。我一直不添加环境变量,所以很多博客说的操作我都做不了,比如全局环境下 cmd 没有 conda 呀,也不能从 cmd 里敲命令 activate venv,我现在还只会从 Anaconda Navigator 那里去运行,才能进入虚拟环境……
然后建立新环境 python 27,安装了 jupyter,在里面安装了 numpy / pillow / pandas / matplotlib 等最基础的库,然后以为大功告成,准备写作业。
然后又遇到了一个坑,作业需要先编译一个 c 库,尽管我安装了 cython,但是似乎这个环境拿不到我全局的 mingw,所以报错 error: Unable to find vcvarsall.bat
。我自己的 vs 里能搜到一个 vcvarsall.bat
,但我不太清楚这个版本对不对,就直接去下载微软爸爸提供的给 py2.7 的编译器了:Microsoft Visual C++ Compiler for Python 2.7,安装后,还是不行,应该还是因为我的环境跟系统独立导致的。
所谓程序员的暴力之美在这时候起作用了,看了这个回答 Microsoft Visual C++ Compiler for Python 2.7,太暴力了,我就乖乖去自己 python 2.7 安装的地方 C:\anaconda3\envs\python27\Lib\distutils
把 msvc9compiler.py
改掉了,位置改为 C:\Users\shens\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0
,然后这个问题终于解决了……
我去写作业了……有问题再来记一下解决方案……