引言
最近开始需要写python,但是莫名其妙的踩了一大把的坑,在win上导完包直接跑的程序在mac上逐行报错(人生好艰难),今天记录一下,以后碰到也好有个对策。
坑们
关于python版本
pycharm有自己的版本控制系统,不需要修改系统默认的python版本,昨天为这个东西搞了一个多小时,在终端输入
python -V
得到的是什么版本无所谓,只需要在Pycharm->Preferences->project:{项目名称}->python Interpreter中选择合适的版本即可。
关于pip指向版本
由于众所周知的原因,国内很多网址无法访问,所以pycharm很多的包无法一键导入,所以理所当然的,我们要使用镜像。如何使用镜像呢?举个栗子
pip install tensorflow -i "https://pypi.doubanio.com/simple/"
然后第一个大坑就出现了!
我们都知道mac是自带python2.7版本的,可是目前python2.7版本似乎已经停止维护了,所以很多时候我们用的并不是2.7版本,而是自己下载的3.7或者3.6.
但是问题在于,我们惊喜的发现使用pip命令+镜像的下载方式并不能顺利的导入包,因为pip把包导入到系统默认的python2.7去了。
所以怎么办呢?让我们修改一下pip的指向把!
首先找到我们用的python3.6在哪里呢?
寻找python和pip
方法一 pycharm自带
上文提到了使用首选项可以找到你在使用的python版本,所以神奇的是,没错,在你选择的版本后面就跟着你选择的版本所在的位置。
方法二 终端
如果你说,咱们pycharm版本不同,你找不到这个东西咋搞呢?
用终端吧,反正要找到pip在哪里也得用这个。
whereis python3
which pip
好的,找到所在位置了
修改pip指向
然后用vim编辑器打开pip
vim /usr/local/bin/pip
不过我是个狗,vim用的贼烂。
换个思路
open /usr/local/bin
在其他里面,选择sublime-text。打开成功了
然后修改一行的路径修改为之前查到的python3的目录,保存。
终端输入
pip -V
报错,保存信息的中间部分有两组数字,一组是上面有的pip版本,还有一组是没有的(如果你英文好可能能读懂,大概说的是pip版本和推荐的版本不一致,需要修改pip版本)反正我没看懂。
反正就是把上面的版本修改为另一组数字就可以了。
再次输入
pip -V
正常了!
再次使用pip命令镜像下载,成功!
关于TensorFlow包
导入了这个包之后,使用的时候报错了,说什么服务未开启之类的说法咋回事?
感情是这个东西还得开启一下,好吧。
按照教程,下载安装Anaconda,网址下载:https://www.anaconda.com。然后在终端输入:
conda -V
这是怎么回事呢?原来这个鬼东西需要在bash下运行。
source ~/.bash_profile
以前这个命令都不会切换,但是不知道为啥现在一刷新这个就会自动切换到bash了,我也不知道咋回事。。。。
反正再次输入
conda -V
成功显示了版本。
conda create -n tensorflow python=3.6
记得把版本换成自己的版本。
activate tensorflow
服务打开成功!
对了对了,服务关闭的命令是
conda deactivate
另附
刚刚把终端从zsh切换到bash了,怎么切换回zsh呢?
source ~/.zshrc
顺利切换回来了。
然后以后就可以开始
source ~/.bash_profile
source ~/.zshrc
实现反复横跳了。
第一次更新——奇怪的现象
不知道为啥,现在在zsh的模式下输入
conda -V
也可以直接显示版本了,不知道为啥。。。
尾声
踩坑之路还在继续,程序还没跑出来,继续百度ing,随缘更新。