登录实验室公用服务器,个人账号下(非root)是空的,啥也没有,想安装下pip和conda。
转了一圈,好像没太有针对这个需求写具体博客的,但有挺多讲直接在root下安的(用的应该是个人虚拟机,服务器一般是分账号的)。结合我的报错,写了这篇博客。
其实大致步骤都相同,但与个人虚拟机安装不同的是:服务器的个人账号没有root权限,我修改不了root文件,但pip/conda安装命令是默认安装到root的。
解决方式:通过安装命令设置,将pip/conda安装到当前用户,再手动更新下环境变量。
pip
在正式安装pip前,要先安装setuptools
安装setuptools
1. 下载setuptools安装包
wget https://pypi.python.org/packages/28/4f/889339f38da415e49cff15b21ab27becbf4c017c79fbfdeca663f5b33b36/setuptools-36.4.0.zip
2. 解压setuptools包并进入其目录
unzip setuptools-36.4.0.zipcd setuptools-36.4.0
3. 安装setuptools
python setup.py install --user || exit 1
注意:如果用"python setup.py"命令,会报错(Permission denied 没有权限更改root下文件),因为它会默认安到root下。而用以上这条命令,能让它仅安装到当前用户下。
安装pip
1. 确定pip版本
在下载pip之前,先在命令行输入输入"python",看一下当前默认环境下,python的版本。(因为安装pip时用会使用python命令安装)
我当时是python2.7,先试了试安装pip22,但是报错(具体什么错误忘了),后来发现是python2.7不支持pip22,遂换了pip9
2. 下载pip
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
3. 解压pip安装包并进入目录
tar xf pip-9.0.1.tar.gzcd pip-9.0.1
4. 安装pip
python setup.py install --user || exit 1
找到这行,要记下自己的pip安装位置(后面配置环境变量需要用到):
5. 配置环境变量
安装pip后,发现在控制台输入"cmd",还是提示没有pip这个命令。那是因为更改了pip的安装路径,不在root下了,而在我的个人账号下,没有自动将其添加到环境变量中。问题不大,手动添加一下就行了。
注意:添加环境变量,是添加bin目录,到.bashrc文件中,因为bin目录存放的是可运行指令。
具体步骤如下:
1. 先通过echo命令查看当前已有的环境变量(各个环境变量以:冒号隔开):
echo $PATH
发现没有pip的bin目录,遂想将其加入2. 打开.bashrc文件
vim .bashrc
按"a"键,进入插入编辑模式,直接到最后一行,插入"export PATH=$PATH:/home/xxx(我的用户名)/.local/bin"(更改为你的pip路径)
然后按ESC键,进入命令模式,输入":wq",保存并退出3. 更新.bashrc文件
source ~/.bashrc4. 在命令行输入pip,发现有显示了,完成!
conda
1. 下载conda安装包
wget -c --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
2. 安装conda
chmod 777 Miniconda3-latest-Linux-x86_64.sh # 赋予脚本所有权限(可执行)
sh Miniconda3-latest-Linux-x86_64.sh # 运行脚本,安装conda。按照提示,一路ENTER或yes就行,记下最后显示的conda安装位置,用于下面配置环境变量
3. 配置环境变量
其实和pip时配置环境变量步骤差不多。具体步骤如下:
1. 打开.bashrc文件
vim .bashrc
按"a"键,进入插入编辑模式,直接到最后一行,插入"export PATH=$PATH:/home/xxx/miniconda3/bin"(更改为你的pip路径)
然后按ESC键,进入命令模式,输入":wq",保存并退出3. 更新.bashrc文件
source ~/.bashrc4. 在命令行输入conda,发现有显示了,完成!