linux服务器安装python环境配置

news2024/12/27 23:40:51

linux服务器安装python环境配置

  • 服务器跳板机
  • 服务器配置
    • 配置anaconda环境
    • 安装其他python版本
    • 卸载anaconda
  • root用户为用户添加权限
  • 其他工具
    • Jupyter Noetbook
    • tmux

服务器跳板机

在这里插入图片描述

跳板机是一个可以从公共网络访问的服务器,它允许用户通过 SSH 连接进入私有网络中的其他服务器。如上图所示通过跳板机可以连接上7个私有的服务器

当你连接到跳板机时,你可以使用 SSH 隧道或代理来访问私有网络中的其他服务器。当你使用 SSH 隧道或代理时,你实际上是将本地端口转发到远程服务器上的某个端口,以便在本地计算机上访问远程服务器。

服务器跳板机是一种中转服务器,通过它可以访问其他服务器。其作用是提高服务器的安全性,降低被攻击的风险。它可以实现内网穿透、数据加密、用户鉴权、日志记录等功能,同时也可以方便管理员管理多台服务器,提高工作效率。服务器跳板机通常被用于远程登录、文件传输、数据备份等场景,是企业信息化建设中不可或缺的一环。

服务器配置

配置anaconda环境

  1. 下载Anaconda安装器:首先,你需要从Anaconda的官方网站(https://repo.anaconda.com/archive/)上下载合适的Anaconda安装器。你可以选择Python 3.x的版本。使用wget命令可以在服务器上直接下载:
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh

请注意,上述链接可能已经过时,你应该从Anaconda官方网站上获取最新的下载链接。

  1. 运行Anaconda安装器:下载完成后,你可以运行安装脚本
bash Anaconda3-2021.05-Linux-x86_64.sh

然后,按照提示进行操作。
在这里插入图片描述
当看到有more,继续按Enter,直到出现please answer ‘yes’ or ‘no’

在这里插入图片描述

当提示你是否接受许可协议时,输入’yes’。然后,它会提示你选择安装位置,你可以接受默认位置,或者输入新的位置。
在这里插入图片描述
这里默认文件目录在root,但是不建议将文件保存在root目录下。建议在root目录下创建一个新的文件夹,并将文件保存在该文件夹中。这样可以减少潜在的安全风险和系统文件被修改的风险。同时,对于一些需要权限管理的文件,建议将其保存在普通用户的家目录下,以免出现权限问题。

继续回车

  1. 初始化Anaconda:安装完成后,安装器会询问你是否想要运行conda init来初始化Anaconda3。如果你同意,那么Anaconda会被添加到你的shell脚本(例如.bashrc或.bash_profile)中,这样每次新的shell会话都会设置好Anaconda环境

在这里插入图片描述
继续
在这里插入图片描述
这个vs编译器环境可以不用装

  1. 激活安装:安装器完成后,你需要关闭并重新打开你的shell窗口,或者你可以运行以下命令来激活安装:
source ~/.bashrc

source ~/.bash_profile
  1. 测试安装:要确认Anaconda已经被正确安装,你可以运行:
conda list

如果安装成功,这将显示一个已经安装的包列表。之后,你就可以开始使用conda命令来创建新的环境,安装包,等等。

安装其他python版本

如果你已经在你的服务器上安装了Anaconda,那么你已经有了一个包含Python和许多常用科学计算库的环境。

Anaconda默认安装了Python和一些常用的Python库,如Numpy、Pandas、Scipy和Matplotlib等,因此你无需再单独安装Python环境。

Anaconda的一个重要特性是conda环境。你可以使用conda创建新的环境,每个环境可以有不同版本的Python和不同的库。这对于管理多个项目和避免库版本之间的冲突非常有用。

下面是如何使用conda创建一个新的环境

conda create --name myenv

这将创建一个名为myenv的新环境。你可以用任何你喜欢的名字替换myenv。然后,你可以使用下面的命令激活这个环境

conda activate myenv

现在,你处于新的环境中,可以安装需要的库。例如,如果你需要安装tensorflow,你可以这样做:

conda install tensorflow

如果你需要使用不同版本的Python,你可以在创建环境时指定Python版本,如:

conda create --name myenv python=3.6

这样,你就创建了一个带有Python 3.6版本的新环境。当你完成工作并想要离开环境时,你可以使用下面的命令:

conda deactivate

卸载anaconda

  1. 首先,你需要打开你的终端。
  2. 然后,要删除整个Anaconda目录,你可以使用rm -rf命令。默认的Anaconda目录通常在你的主目录中,名为anaconda3或者anaconda2,取决于你安装的是Python 3的版本还是Python 2的版本。所以命令应该是
rm -rf ~/anaconda3

rm -rf ~/anaconda2

请注意,rm -rf命令会无提示地删除目录和其中的所有文件,所以请确保路径是正确的。

  1. 最后,你需要从.bashrc或.bash_profile文件中删除Anaconda脚本路径。打开这个文件:
nano ~/.bashrc

nano ~/.bash_profile

然后找到这行

# added by Anaconda3 4.4.0 installer
export PATH='/home/username/anaconda3/bin:$PATH'

删除或注释这些行,然后保存并关闭文件。

  1. 你可能还需要删除一些隐藏的Anaconda文件和文件夹,这些通常在你的主目录中:
rm -rf ~/.conda
rm -rf ~/.continuum
  1. 最后,为了让这些改变生效,你需要重新加载你的shell。在你的终端中运行:
source ~/.bashrc

source ~/.bash_profile

root用户为用户添加权限

在Linux中,root用户(也称为超级用户)具有系统的完全控制权,可以为其他用户分配和修改权限。您可以使用以下方法为其他用户分配权限:

  1. 使用useradd或adduser命令添加新用户:
sudo useradd -m newuser
sudo passwd newuser

这将创建一个新用户newuser并设置其密码。

  1. 使用usermod命令修改现有用户的组:
sudo usermod -aG groupname username

将username添加到groupname组中。例如,要将用户newuser添加到sudo组,您可以运行:

sudo usermod -aG sudo newuser

这将允许newuser执行sudo命令并获得临时的root权限。

  1. 使用chmod命令修改文件或目录的权限:
sudo chmod permissiosn filepath

这将更改filepath上的权限。例如,您可以运行以下命令以允许用户组在文件上具有读/写权限:

sudo chmod 664 filename
  1. 使用chown和chgrp命令更改文件或目录的所有者和组:
sudo chown newowner filepath
sudo chgrp newgroup filepath

这将更改filepath的所有者为newowner,并更改其组为newgroup。

请确保在分配权限时谨慎行事,因为错误地分配权限可能会影响系统的安全性和稳定性。在进行更改之前,始终确保了解所做的更改以及它们如何影响系统。

其他工具

以下是一些常用的实用工具,可以帮助您在Linux服务器上进行Python编程和深度学习训练、推理等方面提供便捷:

  • Anaconda:Anaconda是一个Python发行版,包含了大量的科学计算和深度学习库,可以方便地进行Python环境管理和包管理。
  • Jupyter Notebook:Jupyter Notebook是一个交互式的笔记本,支持多种编程语言,包括Python。它可以帮助您在浏览器中创建和共享文档,包括代码、方程、可视化和叙述性文本等。
  • TensorFlow:TensorFlow是一个开源的深度学习框架,可以帮助您在Linux服务器上进行深度学习训练和推理。
  • PyTorch:PyTorch是一个开源的深度学习框架,可以帮助您在Linux服务器上进行深度学习训练和推理。
  • Keras:Keras是一个高级神经网络API,可以帮助您在Linux服务器上进行深度学习训练和推理。
  • Git:Git是一个分布式版本控制系统,可以帮助您在Linux服务器上进行代码管理和协作。
  • Vim:Vim是一个强大的文本编辑器,可以帮助您在Linux服务器上进行代码编写和编辑。
  • Tmux:Tmux是一个终端复用器,可以帮助您在Linux服务器上同时运行多个终端会话,并且可以在不同会话之间切换。
  • Htop:Htop是一个交互式的系统监视器,可以帮助您在Linux服务器上监视系统资源使用情况。
  • Docker:Docker是一个开源的容器化平台,可以帮助您在Linux服务器上轻松部署和管理应用程序。

Jupyter Noetbook,tmux,Docker,TensorFlow

Jupyter Noetbook

  1. 打开终端并激活您的Anaconda环境。
  2. 运行以下命令以安装Jupyter Notebook:
conda install jupyter notebook
  1. 安装完成后,运行以下命令启动Jupyter Notebook:
jupyter notebook
  1. 在浏览器中输入URL http://localhost:8888/,即可打开Jupyter Notebook的主界面。
  2. 在主界面中,您可以创建新的Notebook,并开始编写Python代码。
    注意:如果您的服务器上有多个Python环境,请确保在安装Jupyter Notebook时选择正确的环境。例如,如果您要使用Python 3.x,则应该激活相应的环境并使用以下命令安装Jupyter Notebook:
conda install -n myenv jupyter notebook

其中,myenv是您要使用的环境名称。

tmux

在 Linux 系统上安装 tmux 可以使用不同的包管理器,具体取决于你的 Linux 发行版。以下是一些常见发行版的安装方法:

  1. Ubuntu/Debian:在 Ubuntu 或 Debian 系统上,你可以使用 apt 包管理器来安装 tmux:
sudo apt-get update 
sudo apt-get install tmux
  1. CentOS/RHEL/Fedora:在 CentOS、RHEL 或 Fedora 系统上,你可以使用 yum 或 dnf 包管理器来安装 tmux:
sudo yum install tmux  # For CentOS/RHEL 
sudo dnf install tmux  # For Fedora
  1. Arch Linux:在 Arch Linux 或基于 Arch 的系统上,你可以使用 pacman 包管理器来安装 tmux:
sudo pacman -Syu tmux

安装完成后,你可以通过输入 tmux 在终端中启动 tmux。你也可以使用 man tmux 查看 tmux 的手册页,了解如何使用 tmux。

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

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

相关文章

AI绘画-Midjourney基础2-创意之旅启航:超强二次元风格模型 niji 5

niji 模型是 mj 的一种模型,可以生成二次元风格的图片。 在控制台输入 /settings 指令,进入设置页面。 选择第二行的 Niji version 5 模型,就可以创作二次元风格的图片了! niji 5 模型还有 expressive、cute、scenic 3种风格可以…

【C++初阶】类与对象(中)之取地址及const取地址操作符重载(了解即可)

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

chatgpt赋能Python-pythongroup

PythonGroup:提高Python技能和构建社交网络的绝佳平台 PythonGroup是一家致力于为Python编程者提供高质量资源和社交网络的平台。无论您是新手还是有十年以上的经验,PythonGroup都可以帮助您提高您的技能,增加您的知识和职业发展机会。 Pyt…

t检验与Z检验的区别

在统计学中,假设检验是评估某种特定情况下观察到的数据是否符合假设的一种方法。t检验和Z检验是两种常用的假设检验方法,分别用于比较均值差异以及比例差异。在医学统计中,t检验和Z检验经常被用于研究和比较不同治疗方法的效果,例…

chatgpt赋能Python-pythonfor遍历列表

Python for循环:遍历列表 - 提高您的编程技能 列表是Python编程语言中广泛使用的数据结构。在许多情况下,我们需要遍历列表中的元素。Python中的for循环是一种最常用的遍历列表的方式。在本文中,我们将介绍如何使用Python的for循环语句遍历列…

SSRS rdlc报表之创建报表 一

环境 vs2019 fromwork4.5 第一步 安装rdlc报表插件 vs2019使用rdlc,需要安装扩展插件,扩展→扩展管理→联机,搜索rdlc,安装Microsoft RDLC Report Designer,我在安装过程中,安装了很久都没安装成功&…

一、数据字典介绍

文章目录 一、数据字典介绍1、页面效果2、表设计3、数据分析4、根据页面效果分析数据接口 一、数据字典介绍 何为数据字典?数据字典就是管理系统常用的分类数据或者一些固定数据,例如:省市区三级联动数据、民族数据、行业数据、学历数据等&a…

Spring Boot系列(一):Spring Boot 入门篇

目录 对于学习Java的童鞋来说,可都是有用的博文,也是我悉心选择推荐给大家的。这次为大家带来的系列文章是关于Spring Boot的,Spring Boot对Javaer来说应该是很常用的一个框架。希望这个系列能对大家有用!​编辑 快速入门 总结 …

C语言的位运算

1. 位操作符综述 位操作有逻辑运算和移位运算,如位与、位或、位取反、按位异或、移位等操作。位运算通常会和底层代码寄存器的操作结合在一起使用,比如想要让寄存器中的任意1位或者任意几位位设置为1,或者设置为0,从而实现对寄存…

chatgpt赋能Python-pythongame怎么样

Python Game:打造属于自己的游戏 Python是一种全球流行的编程语言,因其简洁易懂、高效稳定,被广泛应用于各类软件、网站与游戏的开发领域。其中,Python Game成为许多开发者的关注焦点,不同于传统游戏开发的复杂与繁琐…

【音视频开发】摄像头和ISP的基本介绍

文章目录 一、摄像头的基本知识1.1 摄像头结构1.2 摄像头模组的种类1.3 摄像头的工作原理 二、Sensor的基本知识2.1 Sensor的工作原理2.2 Sensor的分类2.3 Sensor的封装形式2.4 常见的Sensor厂商2.5 Sensor的基本框图 三、ISP的基本知识3.1 ISP的定义3.2 ISP的工作原理 四、ISP…

拥抱生成式大模型 --- 提示工程篇

本文为系列的第二篇,主要是学习和总结chatgpt类模型的提示工程。感谢吴恩达老师的开源课程。 引言 随着大型语言模型(LLM)的发展,LLM 大致可以分为两种类型,即基础LLM和指令微调LLM。基础LLM是基于文本训练数据&…

栈和队列 - C语言实现

目录 栈 栈的概念 栈的实现 队列 队列的概念 队列的实现 栈 栈的概念 栈是一种后进先出 (LIFO - last in first out) 的数据结构,通常利用数组或链表实现。栈只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另…

JavaWeb14 - 异步请求 - 02 - Ajax

1. 概述 1.1 官方文档 Ajax 在线文档:https://www.w3school.com.cn/js/js_ajax_intro.asp 1.2 Ajax 基本介绍 1.2.1 Ajax 是什么 AJAX 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML)Ajax 是一种浏览器异步发起请求(指定发哪些数据)&…

LeetCode刷题集(七)(LeetCode70.爬楼梯)

学习目标:拿下LeetCode70.爬楼梯 学习完本文章之后拿下LeetCode70题 题目实例: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 样例1、输入:n 2 输出&#xff1…

Java学习路线(7)——面向对象基础

1、概念 对象: 是实际存在的具体实例。类: 是对象共同特征的描述 。 2、类的组成 成员变量 成员变量是类中的全局变量,它的作用域是class car的“{}”之内。 public class car{String carTypeName; //汽车类型名称double minPrice; //最低…

OpenCV在iOS端的集成及Mat和UIImage互相转化(附源码)

OpenCV是一个非常强大的图形处理框架,可以运行在Linux、Windows、Android和Mac OS操作系统上,在自动驾驶、智能家居、人脸识别、图片处理等方面提供了非常丰富且功能强大的api,在图片处理方便,基本上可以满足对图片处理的所有需求…

Fourier分析入门——第4章——频率域

目录 第 4 章 频率域(The Frequency Domain) 4.1 频谱分析(Spectral Analysis) 4.2 物理单位(Physics units) 4.3 笛卡尔坐标形式与极坐标形式对比 4.4 频谱分析的复数形式 4.5 复数值Fourier系数 4.6 复数值的和三角的Fourier系数之间的关系 4.7 2维或多维离散Fouri…

SpringBoot+Redis实现浏览量+1

当用户点击新闻查看详情后,数据库新闻的浏览量字段要加一,当在高并发场景下,很多人查看新闻详情直接操作数据库使浏览量字段加一对数据库压力过大,并且容易造成脏数据,这里结合redis实现浏览量加一。 业务逻辑&#x…

chatgpt赋能Python-pythonfoo

Pythonfoo: 优秀的Python库提高开发效率 Python是一门被广泛应用的动态编程语言,提供了各种各样的库来帮助开发人员完成不同类型的任务。在这些Python库中,Pythonfoo是一款旨在提高开发效率和代码简洁性的出色的Python库。 什么是Pythonfoo&#xff1f…