linux生产环境下安装anaconda总结

前言:

工作中,常常要在新的linux生产服务器中安装自己的集成python环境,这种情况下有一点需要注意:不能覆盖生产服务器中的python环境(也就是自己的python环境要和系统的python环境分开)。一般情况下系统自带的python环境一般为2,而我们需要的python环境一般为3。并且生产服务器一般是安全等级比较高的,一般是断网的状态,这也就意味着所有的安装操作都要手动进行(PS:一行指令的事就此变成漫长的折腾)。
为了顺利完成安装python3的环境,就需要你事先做好准备,不然把生产环境搞出问题,那就等着“祭天”吧。

1、准备

首先你要了解目前系统中python环境的情况,即有哪些python环境。

whereis python 

#正常环境中只有默认的python2环境,也就是下图中红色框框中的内容。
在这里插入图片描述
其次要看下对应的系统变量配置文件(看下有哪些配置,便于后续安装过程中发生意外进行还原)

vi ~/.bashrc

#正常情况下,如下图所示。
在这里插入图片描述

2、操作

然后开始安装Anaconda,这里需要提醒下,如果对python版本有要求一定要事先进行评估,选择相对应的python版本,如3.6,3.7。这样避免后续因为一些包与相关python版本不兼容,出现各种问题,导致相关功能无法正常使用。这样就很难堪了(毕竟所处的生产环境是高危环境,安装各种包很麻烦,且做这些安装环境的操作要十分谨慎)

下载对应python版本的anacanda包
安装

bash Anaconda3-5.2.0-Linux-x86_64.sh

中间会碰到如下情景,这里是提示是否要将anaconda对应变量添加到/root/.bashrc中。我们选择yes。(这里应该是追加的形式添加,应该不可能是覆盖。感兴趣的小伙伴可以做个实验)
在这里插入图片描述
安装完成后再看/root/.bashrc。这里多了一个anaconda的环境变量。
在这里插入图片描述
安装完成后,由于anaconda的bin中也有python指令,而我们系统默认的python也是通过python指令执行的,如果不做处理,anaconda的python指令就会覆盖系统的python。也就是后续我们执行python将会执行anaconda的python。所以需要先到anaconda/bin目录下将python指令更改为其他名称。

mv python py3

然后还需要更新下/root/.bashrc,此时相关的环境变量才能生效。

source /root/.bashrc

然后命令行输入python看看是否是对应的系统默认的python2
输入python3看看是否是对应anaconda的python3
正常情况下应该没问题。

但是到这里,如果你再去执行pip,conda等指令会发现如下错误:

pip/conda bad interpreter: /home/username/anaconda/bin/python: no such file or directory

在这里插入图片描述
这是由于我们更改了anaconda的指令python,而conda,pip等指令时依赖于anaconda的python指令的,所以需要你到anaconda/bin目录下通过vi conda,vi pip指令打开相关文件进行修改。如下图所示将红框中的python改为对应的python3(anaconda对应的python解释器的别称)即可。
在这里插入图片描述
然后再试下pip,conda指令,就OK了。

3、离线安装python第三方包的方法

1、参考:https://blog.csdn.net/qq_16633405/article/details/97530620
除此之外还有一些方法:
考虑到没网的状态,所以我们可以模拟一个有网的实验环境,然后在实验环境中把需要的包先装上,然后再将实验环境anaconda/lib/python3/site-package/ 目录下新安装的第三方包放到生产环境对应的目录下就可以了。或者直接在实验环境中把所有需要的第三方包全打包然后一键转移到生产环境等。

总结

linux生产服务器安装新的环境最麻烦的工作。风险太高,整个操作必须谨慎谨慎再谨慎,如果有实验环境,就先在实验环境操作,把坑踩完后再去生产环境操作,操作的时候还要注意一些关键文件的备份,做的可回溯。总之,对于生产环境,再小心也不为过!

参考:https://blog.csdn.net/qq_16633405/article/details/97530620

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Delphi TScrollBar 用于滚动窗口、组件内容

滚动条组件(TScrollBar)此组件是一个Windows滚动条,用于滚动窗口、组件内容。许多控制有滚动条属性,它们把滚动条作为自己的一部分,对于没有完整滚动条的控制,TScrollBar组件提供了一个附加的功能&#xff…

FSF 称 DRM 被用于锁定、控制和监视用户

自由软件基金会正在督促美国政府废除DMCA中保护DRM的反规避条款。DMCA的1201条款禁止绕过DRM保护的内容和设备。 自由软件基金会的Donald Robertson在致函美国版权办公室的信(PDF)中指出,技术保护措施和数字限制管理(即DRM&#x…

改数据库表结构类型两种方法

alter table user change password password varchar(128) not null; alter table user modify column password varchar(128) not null;

申请评分卡(A卡)的开发过程(1)

前言: 本篇文章上接《申请评分卡简介》,有需要的童鞋可以参考下:https://blog.csdn.net/qq_16633405/article/details/107744921 下面介绍下A卡的开发步骤。 开发过程 1、评分卡模型开发步骤: 1、立项:场景&#…

提升你的开发效率,10 个 NPM 使用技巧

对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹( npm init ),下载npm模块( npm install ),创建测试( npm test ) 和自定义脚本( npm run )。但是,进一步了解一些 npm 的使用技巧可以彻底改变你的日…

E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-front

解决: E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它? 方法: 重新启动虚拟机服务器 再在黑屏终端中重新尝试输入su…

聚类效果评估指标总结

前言 实际工作中经常会用到一些聚类算法对一些数据进行聚类处理,如何评估每次聚类效果的好坏?可选的方法有1、根据一些聚类效果的指标来评估;2、直接打点。今天就主要总结下这段时间了解的聚类效果评估指标。废话少说,直接上干货…

{%extends bootstrap/base.html%}的添加,使得其他block无法继承

仙说{%extends "bootstrap/base.html"%}用法: 在base.html中调用一次即可,并且 {%extends "bootstrap/base.html"%} 要放在 最后头!!最后头!最后头! base中不用再添加 {% block cont…

Vue.directive自定义指令

Vue除了内部指令&#xff0c;我们也可以定义一些属于自己的指令&#xff0c;比如我们要定义一个v-diy的指令&#xff0c;作用就是让文字变成红色。 写好了这个功能&#xff0c;我们现在就自己定义一个全局的指令。我们这里使用Vue.directive( ); html <div v-diy"color…

HTML5 SVG

SVG介绍1.什么是svgsvg指可伸缩矢量图形&#xff08;Scalable Vector Graphics &#xff09;svg用来定义用于网络的基于矢量图形svg使用XML格式定义图形svg图像在放大或改变尺寸的情况下其图形质量不会有损失svg是网为王联盟的标准2.svg的优势svg图像可通过文本编辑器来创建和修…

运用Nginx代理和UWSGI将Flask项目部署在Linux中 详细步骤

nginx: 安装可以参照的路径: http://nginx.org/en/linux_packages.html#Ubuntu 启动Nginx nginx [ -c configpath] 默认配置目录&#xff1a;/etc/nginx/nginx.conf 查看进程&#xff1a; ps -ef |grep nginx 控制Nginx nginx -s xxxstop 快速关闭quit …

机器学习算法之KNN

前言 KNN一般用于有监督的分类场景&#xff0c;除此之外&#xff0c;KNN在异常检测场景中也有应用&#xff0c;下面主要介绍下KNN在这两面的应用原理。 KNN做分类的原理 计算步骤如下&#xff1a; 1&#xff09;算距离&#xff1a;给定测试对象&#xff0c;计算它与训练集中…

Supermap 组合单值专题图与标签专题图演示样例

效果图例如以下&#xff1a;单值专题图并显示每一个区域的相关文字信息 代码&#xff1a; <!DOCTYPE> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>单值专题图</title>…

[剑指Offer] 25.复杂链表的复制

1 /*2 struct RandomListNode {3 int label;4 struct RandomListNode *next, *random;5 RandomListNode(int x) :6 label(x), next(NULL), random(NULL) {7 }8 };9 */ 10 class Solution 11 { 12 public: 13 //在旧链表中创建新链表&#xff0…

Flask项目中应用七牛云存储

七牛云存储&#xff1a; https://developer.qiniu.com/kodo/sdk/1242/python 点击注册开通七牛开发者帐号 如果已有账号&#xff0c;直接登录七牛开发者后台&#xff0c;点击这里查看 Access Key 和 Secret Key pip install qiniu q Auth(Access Key,Secret Key) b…

异常检测算法之IForest

前言 IForest即孤立森林&#xff0c;可以用于做异常检测。一句话总结IForest做异常检测的原理&#xff1a;异常点密度小&#xff0c;基于树模型容易被一下切割出来&#xff0c;正常值密度大&#xff0c;需要切割多次才能得到目标值。 原理 iForest算法得益于随机森林的思想&…

JavaScript - 动态数据

1、使用ajax进行数据的请求 function getData(params){$.ajax({type: "POST", //提交方式data: "{params}", //请求参数url:, //请求接口contentType: "application/text;charsetutf-8",async: false, //是否同步dataType: &quo…

用c#编写爬虫在marinetraffic下载船仅仅图片

近期在做船仅仅识别方面的事情&#xff0c;须要大量的正样本来训练adaboost分类器。于是到marinetraffic这个站点上下载船仅仅图片。写个爬虫来自己主动下载显然非常方便。 站点特点 在介绍爬虫之前首先了解一下marinetraffic这个站点的一些特点&#xff1a; 1. 会定期检測爬虫…

发送手机验证码通过调用第三方网易云信API(flask项目)

一、 获取验证码&#xff1a; 1. 输入手机号码 2. 通过ajax发送请求 3. 后端&#xff1a; 获取手机号码 使用requests向第三方的服务端&#xff08;网易云信&#xff09;发送请求 官方文档 https://dev.yunxin.163.com/docs/product/%E7%9F%AD%E4%BF%A1/%E7%9F…

异常检测算法之LOF

前言&#xff1a; LOF&#xff1a;Local outlier factor&#xff0c;即局部异常因子。LOF主要是通过比较每个点p和其邻域点的密度来判断该点是否为异常点&#xff0c;如果点p的密度越低&#xff0c;越可能被认定是异常点。至于密度&#xff0c;是通过点之间的距离来计算的&…