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.pswp.cn/news/456327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456327.shtml
英文地址,請注明出處:http://en.pswp.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;是通過點之間的距離來計算的&…