超详细 | 实验室linux服务器非root账号 | 安装pip | 安装conda

登录实验室公用服务器,个人账号下(非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.zip

cd 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.gz

cd 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 ~/.bashrc

4. 在命令行输入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 ~/.bashrc

4. 在命令行输入conda,发现有显示了,完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/176664.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【面试HOT300】滑动窗口篇

系列综述: 💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于【CodeTopHot300】进行的,每个知识点的修正和深入主要参…

【Vue】生命周期一文详解

目录 前言 生命周期 钩子函数使用方法 ​编辑 周期-----创建阶段 创建阶段做了些什么事 该阶段可以干什么 周期----挂载阶段 挂载阶段做了什么事 该阶段适合干什么 周期----更新阶段 更新阶段做了什么事 该阶段适合做什么 周期----销毁阶段 销毁阶段做了什么事 …

图解系列--密钥,随机数,应用技术

密钥 1.生成密钥 1.1.用随机数生成密钥 密码学用途的伪随机数生成器必须是专门针对密码学用途而设计的。 1.2.用口令生成密钥 一般都是将口令输入单向散列函数,然后将得到的散列值作为密钥使用。 在使用口令生成密钥时,为了防止字典攻击,需要…

【追求卓越13】算法--深度和广度优先算法

引导 前面的几个章节,我们介绍了树这种数据结构,二叉搜索树在进行查找方面比较高效;有二叉树演变来的堆数据结构在处理优先级队列,top K,中位数等问题比较优秀;今天我们继续介绍新的数据结构——图。它在解…

【20年扬大真题】编写程序,功能是给a数组输入30个数据,并以每行5个数据的形式输出

【20年扬大真题】编写程序&#xff0c;功能是给a数组输入30个数据&#xff0c;并以每行5个数据的形式输出 #include<stdio.h> int main() {int arr[30] { 0 };int i 0;printf("请输入30个数据&#xff1a;");for (i 0;i < 30;i){scanf("%d", …

C语言—指针入门

内存存放数据 如果发送指令&#xff0c;读取f变量的内容&#xff0c;则先找f - >10005这个字节&#xff0c;然后再找到123。 指针和指针变量 通常说的指针就是地址的意思&#xff0c;C中有专门的指针变量存放指针。一个指针占4个字节。 定义指针变量 类型名 *指针变量名…

童装店铺如何通过软文增加客流量

在信息超负载、媒介粉尘化、产品同质化多重因素下&#xff0c;传统营销疲态尽显、日渐式微&#xff0c;很难支撑新环境下品牌和企业的持续增长。聚焦童装行业更是如此&#xff0c;一方面用户迭代速度快&#xff0c;另一方面&#xff0c;新时代父母的育儿观念更加精细化&#xf…

跨境电商客服系统:提升客户满意度与优化电商体验的关键

随着全球电子商务的快速发展&#xff0c;跨境电商已经成为新的商业发展趋势。在这个高度竞争的市场环境中&#xff0c;优质的客户服务成为区分优秀与平庸的关键因素。一个高效的跨境电商客服系统不仅可以提高客户满意度&#xff0c;还能帮助企业优化电商体验&#xff0c;进而提…

电商领域的三大沉疴难题?实在智能RPA来帮你药到病除!

在电商市场规模迅速扩大的当下&#xff0c;厂家们为了保持自身的竞争力&#xff0c;纷纷走上了数智化转型的道路&#xff0c;明白学会使用自动化利器才是制胜之道。 如今从产业的生产线到运营商、物流运输、商品售前、商品售后&#xff0c;实在RPA在电商平台的应用已经十分广泛…

【EI会议征稿】第九届能源科学与化学工程国际学术研讨会 (ISESCE 2024)

第九届能源科学与化学工程国际学术研讨会 &#xff08;ISESCE 2024&#xff09; 2024 9th International Symposium on Energy Science and Chemical Engineering 第九届能源科学与化学工程国际学术研讨会&#xff08;ISESCE 2024&#xff09;定于2024年3月22-24日在中国南京…

创建 Springboot 项目

前言 创建 Spring Boot 项目是很多Java开发人员入门的重要一步&#xff01; 欢迎来到本篇关于创建 Spring Boot 项目的博客&#xff01;Spring Boot作为一个快速、便捷的开发框架&#xff0c;为我们提供了简化和加速应用程序开发的利器。 在这个数字化时代&#xff0c;快速响…

java的继承特性和方法重写

java的继承特性和方法重写 Java的继承特性是一种面向对象编程的重要概念&#xff0c;它允许我们基于已有的类创建新的类&#xff0c;并且保留了已有的类的一些特性。这是通过使用"继承"这个关键词来实现的&#xff0c;新创建的类称为子类&#xff08;subclass&#…

计算机系统的存储原理

文章目录 高速缓存存储设备的层次结构操作系统的两个基本功能参考 高速缓存 高速缓存至关重要。 helloworld 程序揭示了一个重要的问题&#xff1a;系统花费了大量的时间把信息从一个地方挪到另一个地方。 程序的机器指令最初是存放在磁盘上&#xff0c;当程序加载时&#xf…

Linux之进程替换

创建子进程的目的 创建子进程的第一个目的是让子进程执行父进程对应的磁盘代码中的一部分, 第二个目的是让子进程想办法加载磁盘上指定的程序,让子进程执行新的代码和程序 一是让子进程执行父进程代码的一部分, 比如&#xff1a; 1 #include<stdio.h> 2 #include<…

【中间件】服务化中间件理论intro

中间件middleware 内容管理 intro服务化middleware架构注册中心intro服务治理系统intro 本文主要intro服务化中间件的探讨 去年cfeng写了一篇博客走马观花般阐述了Spring Cloud下面的各种中间件&#xff0c;连深入使用都谈不上&#xff0c;只能说intro&#xff0c;在实际work中…

时态图根据时间轴动态播放热力图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>时态图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><!-- 引入样式 --&g…

练习九-利用状态机实现比较复杂的接口设计

练习九-利用状态机实现比较复杂的接口设计 1&#xff0c;任务目的&#xff1a;2&#xff0c;RTL代码3&#xff0c;RTL原理框图4&#xff0c;测试代码5&#xff0c;波形输出 1&#xff0c;任务目的&#xff1a; &#xff08;1&#xff09;学习运用状态机控制的逻辑开关&#xff…

101. 对称二叉树

101. 对称二叉树 题目&#xff1a; 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输…

【云原生-Kurbernetes篇】 玩转K8S不得不会的HELM

Helm 一、Helm1.1 使用背景1.2 Helm简介1.3 Helm的几个概念1.4 helm2 和 helm3 的区别1.5 chart包的关键组成 二、Helm相关命令2.1 应用管理操作2.2 Helm repository仓库管理命令2.2 Helm chart包管理命令2.3 Helm release(实例) 管理命令2.4 Helm私有仓库管理命令 三、部署He…

react大文件上传

目录 大文件上传优点&#xff1a; 大文件上传缺点: 大文件上传原理&#xff1a; 为什么要用md5 实现流程&#xff1a; 部分代码1&#xff1a; 部分代码2&#xff1a;​ 大文件上传优点&#xff1a; 文件太大分片上传能加快上传速度,提高用户体验能断点续传 如果上次上传失败…