anaconda3 的环境配置

anaconda3 的环境配置

在实际中我遇到了这样一个事情,在平台上面我可以申请多个workspace, 每个workspace都相当于是一个虚拟机,在里面可以自己随便搞,sudo rm -rf /*都没事儿,但是感觉一个workspace不够用, 于是就申请了多个workspace,但是每申请一次就是一个新的机器,需要配工作环境,如果网速快的话还可以,网速慢的话真是受不了,然后就自己捉磨了一下anaconda3,其实可以只需要一个anaconda3就可以了,只需要其他的环境都指向这一个就可以了。

  • 没有弄之前

之前anaconda3一般是在~/下面放着,一般这个anaconda3很大,有7,8G, 但是如果所有的workspace加起来50G的话,那么workspace的申请数量就受到了限制,而且放不了其他东西,现在假设在机器1上面安装了anaconda3, 有个环境是py37, 这个机器名字叫pk1, 里面的环境是配置好的,现在又申请了一个workspace叫pk2, 里面的环境没有配置过,这时候需要做下面的事情。

  1. 把pk1下面的anaconda3 复制到几个workspace都能访问到的地方,比如/unshared/pengkun/ishome/anaconda3这里, 注意这个地方可以放很多东西,几个T都没事儿,但是workspace下面不能放太多东西.

  2. 在pk2的~/.bashrc下面加入conda的环境,

    正常conda下的环境是这样export PATH=/home/pk/anaconda3/bin:$PATH,现在改成

    export PATH=/unshared/pengkun/ishome/anaconda3/bin:$PATH 然后重新打开pk2的时候,估计用python的时候就会发现已经用的不是本地的python了,可以查看一下, python import sys sys.executable就可以看出来用的哪个python. 如下

>>> import sys
>>> sys.executable
'/unsullied/sharefs/zhengpengkun/isilon-home/anaconda3/bin/python'
>>> 

之前 pk1上面是有环境 py37的,那如果要在pk2上面用这个py37的环境,是不是source activate py37就可以了呢,当然不是,如果这时候这样弄的话,会报错,

第一个错应该会在profile.d报没有conda.sh之类的,

如下

-bash: /home/zhengpengkun/anaconda3/etc/profile.d/conda.sh: No such file or directory

先看看没有改之前的这里面是什么

/home/pengkun/anaconda3/etc/profile.d下面会有一个conda.sh

打开看看

export CONDA_EXE='/home/pengkun/anaconda3/bin/conda'
export _CE_M=''
export _CE_CONDA=''
export CONDA_PYTHON_EXE='/home/pengkun/anaconda3/bin/python'

有的是只有前三行,没有第四行, 但是现在在pk2的home下面是没有这些的,所以会报错,应该把这里面的/home/pengkun改成现在anaconda3所在的路.如果有第四行的话,把那里的也给换掉.

上面的弄完之后 再source activate py37还是不行,错误和上面的一样,这时候 conda一下,报错如下

-bash: /unsullied/sharefs/zhengpengkun/isilon-home/anaconda3/bin/conda: /home/zhengpengkun/anaconda3/bin/python: bad interpreter: No such file or directory


去那里看看,

然后要去现在anaconda3的bin 里面vim conda可以看到的第一行写着

#!/home/pengkun/anaconda3/bin/python

这仍然是之前的,所以也要把前辍的path给换掉, 然后 这时候conda一下,发现正常了, 但是source activate py37的时候还是错,这时候需要

conda init下.

然后 source activate py37的时候就可以了.

这样虽然可以用python了,但是当用pip安装东西的时候又会出现bug, 所以还需要到pip 那里看看,同样是vim anaconda3/bin/pip 可以发现第一行和上面的一样,所以把这里的也给改了。

如果是在py37下pip的话,要去对应的py37的环境下找pip,再改. 这时候错是


(py37) zhengpengkun@pk3:~$ pip install readline
-bash: /unsullied/sharefs/zhengpengkun/isilon-home/anaconda3/envs/py37/bin/pip: /home/zhengpengkun/anaconda3/envs/py37/bin/python: bad interpreter: No such file or directory


«««< HEAD 把conda的指定好了之后,需要在命令行里conda init一下,然后会发现在~/.bashrc下面就会多出一些东西. ======= 如果发现弄好了之后,以对话式运行python的时候,basckspace键不能用了就pip install readline.

19807200257f1bdc5056fd4e94b795f05eeb4b5f

但是好像失败了,之前成功过,但是加上--user成功了,并没有解决交互式问题,我不经常用交互式的,暂时也没有解决.

如果用’tensorboard’的话

还需要在~/.local/bin/tensorboard把python的环境改一下.

注意

不光是自己的环境py37的需要改,如果经常用base的话,base的也要改过来. 即是在anaconda3/bin/pip 里面去改pip

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦