虚拟环境安装+tmux+nvitop+conda activate无法激活环境的问题

虚拟环境的相关问题记录

  • 安装anaconda
  • 创建虚拟环境
    • conda create -n 的时候报错
  • 安装tmux
    • tmux的使用
  • 安装nvitop
    • 在AutoDL中使用nvitop
    • 步骤 1: 确保 Python 和 pip 已安装
    • 步骤 2: 安装 nvitop
    • 步骤 3: 验证安装
    • 注意事项
  • 查看cpu/gpu资源使用情况
  • 查看进程
  • conda activate无法激活虚拟环境问题:
  • Protocol Buffers报错

安装anaconda

下载Anaconda安装包

bash Anaconda3-2023.09-0-Linux-x86_64.sh

一路安装,然后按照提示输入yes即可
.bashrc文件末尾写export PATH=/home/user/anaconda3/bin:$PATH

在terminal终端输入source ~/.bashrc
就会出现(base)标识,如果不出现(base)标识的话,先输入conda,看看是否出现版本信息,如果出现版本信息,就用conda init bash
然后再执行
source ~/.bashrc

创建虚拟环境

如果之前有存在的环境,将之前的环境导出为environment.yml,然后下次直接安装就好了

# 导出虚拟环境
conda env export --name ir > environment.yml
# 安装虚拟环境
conda env create -f environment.yml

conda create -n 的时候报错

(base) xwf@ps:~/ML/MAML/maml$ conda create -n tf python=3.7
Solving environment: failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/pro/noarch/repodata.json.bz2>
Elapsed: -An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.SSLError(MaxRetryError('HTTPSConnectionPool(host=\'repo.anaconda.com\', port=443): Max retries exceeded with url: /pkgs/pro/noarch/repodata.json.bz2 (Caused by SSLError(SSLError("bad handshake: Error([(\'SSL routines\', \'ssl3_get_server_certificate\', \'certificate verify failed\')])")))'))

从错误信息来看,这是一个 SSL 证书验证失败的问题,通常是因为网络问题或者 SSL 证书配置不正确引起的。有几种可能的解决方法:

  1. 重试命令:有时候,网络问题可能是暂时的,重新尝试运行命令可能会成功。

  2. 临时禁用 SSL 验证:你可以尝试暂时禁用 Conda 的 SSL 验证,看看是否可以绕过这个问题。这不是一个推荐的长期解决方案,因为它会降低安全性,但可以用来判断问题是否与 SSL 证书验证有关。可以通过设置 Conda 配置来禁用 SSL 验证:

    conda config --set ssl_verify false
    # 然后重新执行
    conda create -n tf python=3.7 
    # 一般到这里就是可以正常创建环境了,记得恢复SSL验证,然后就不需要执行步骤3了
    

    完成操作后,再次尝试创建环境。如果成功,记得恢复 SSL 验证:

    conda config --set ssl_verify true
    
  3. 更新 Conda:确保你的 Conda 是最新版本,老版本的 Conda 可能会有已知的 bug 或兼容性问题:

    conda update conda
    
  4. 检查网络配置:如果你在一个受限制的网络环境下(例如公司网络、学校网络),可能需要咨询你的网络管理员确认是否阻止了对 Anaconda 服务器的访问,或者是否需要配置特定的代理服务器。

  5. 使用其他下载源:如果你持续遇到连接到 Anaconda 服务器的问题,可以考虑临时更换到其他的下载源,例如使用清华大学的 Anaconda 镜像源:

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes
    

执行这些步骤之后,再次尝试创建你的 Conda 环境。如果问题仍然存在,请告诉我,我们可以探讨其他的解决方案。

安装tmux

一般情况下,pip直接安装tmux就行

sudo apt install tmux
# 查看版本以及验证是否安装成功
tmux -V

如果是autoDL,请执行如下命令安装tmux

vim /etc/apt/sources.list
# 添加如下内容到sources.list
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse# 添加之后,保存并退出文件,然后在命令行执行如下内容:
sudo apt update
sudo apt install tmux 

tmux的使用

# 创建新会话
tmux new-session -s yourSessionName# 退出会话
ctr+b,然后单独按d
# 注意区分和销毁会话的区别!!!# 销毁会话
ctr+d # 查看当前有哪些会话
tmux ls# 重新连接已有会话
tmux attach -t yourSessionName

安装nvitop

一般情况下直接pip安装就行

pip3 install --user nvitop

在AutoDL中使用nvitop

验证cuda是否可用

python -c “import torch; print(torch.cuda.is_available())”

要安装 nvitop,一个用于监控 NVIDIA GPU 使用情况的工具,你可以遵循以下步骤来确保在你的环境中正确安装它。nvitop 主要依赖于 Python 和一些Python库,可以通过 pip 进行安装。以下是详细步骤:

步骤 1: 确保 Python 和 pip 已安装

首先,确保你的系统中已安装 Python 和 pip。你可以通过运行以下命令来检查它们的版本,确保它们已正确安装:

python --version
pip --version

步骤 2: 安装 nvitop

使用 pip 安装 nvitop。建议在虚拟环境中进行安装以避免污染全局 Python 环境。这里是创建和激活虚拟环境的方法:

# 创建虚拟环境
python -m venv nvitop-env# 激活虚拟环境 (Linux 或 MacOS)
source nvitop-env/bin/activate# 激活虚拟环境 (Windows)
nvitop-env\Scripts\activate

在虚拟环境中,使用 pip 安装 nvitop

pip install nvitop

步骤 3: 验证安装

安装完成后,你可以通过运行 nvitop 来检查是否正确安装。只需在命令行中输入:

nvitop

如果安装成功,这个命令将显示当前系统中 NVIDIA GPU 的使用情况。

注意事项

  • 确保你的系统中安装了 NVIDIA 的 GPU 和相应的 NVIDIA 驱动程序,nvitop 才能正常工作。
  • 如果你使用的是 NVIDIA Docker 容器或者类似的虚拟化环境,确保 GPU 已经被正确映射到了容器中。

这些步骤应该可以帮助你在大多数 Linux 环境中安装和运行 nvitop。如果在安装过程中遇到任何问题,可能需要检查 Python 环境的配置或是 nvitop 的依赖问题。

查看cpu/gpu资源使用情况

# 查看gpu和cpu使用情况
nvitop
# 或者使用
gpustat# 单独查看cpu使用情况
top

在Linux中,有几种常用的命令可以用来查看CPU资源的占用情况。以下是一些常用的命令:

  1. top - 这是最常用的命令之一,用来显示系统中各个进程的实时动态资源占用情况,包括CPU占用率。使用方法很简单,只需要在终端输入top即可。

  2. htop - 这是top命令的一个增强版本,提供了一个彩色的界面,使得信息阅读更为直观,同时增加了一些交互操作。不过在某些Linux发行版中,可能需要先安装htop。可以使用sudo apt install htop(Debian/Ubuntu)或sudo yum install htop(CentOS/RedHat)来安装。

  3. vmstat - 这个命令可以报告关于内存、交换、I/O、系统活动以及CPU活动的统计信息。例如,使用vmstat 1可以每1秒刷新显示一次数据。

  4. mpstat - 这个命令是sysstat包的一部分,特别用于显示CPU的使用统计,可以单独查看每个CPU核心的性能情况。如果尚未安装,可以使用sudo apt install sysstatsudo yum install sysstat进行安装。使用方法如mpstat -P ALL 1每秒更新显示所有CPU核的统计信息。

这些工具都可以帮助你监视和分析CPU的使用情况,以确定可能的性能瓶颈。

查看进程

检查运行中的进程,挖矿软件在运行时会有相关的进程。通过查看系统当前运行的进程,你可能能发现一些疑似的挖矿程序或脚本。

# 下面的命令帮助你寻找包含常见挖矿软件名称的进程。
ps aux | grep -iE 'miner|mining|eth|xmrig|cgminer'

conda activate无法激活虚拟环境问题:

已经创建好了环境,conda env list也可以看到环境的存在,但是使用conda activate VirEnv就是不能激活环境,问题如下:

root@mchl-None:~# conda env list
# conda environments:
#
base                     /root/anaconda3
moea                     /root/anaconda3/envs/moearoot@mchl-None:~# conda activate moea
usage: conda [-h] [--no-plugins] [-V] COMMAND ...
conda: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'content-trust', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'repo', 'env', 'pack', 'server', 'token', 'verify')

解决方法如下:

这是一个常见的 Conda 错误,通常是因为 Conda 的 activate 命令在某些 Conda 版本中被更改为 source activate 或者 conda activate。为了确保你使用正确的命令来激活环境,请检查 Conda 的安装状态和 Shell 配置。以下是解决这个问题的几个步骤:

  1. 使用 source 激活环境:
    你可以尝试使用 source activate moea 来激活 Conda 环境。这是旧版本 Conda 中激活环境的方式。

    source activate moea
    
  2. 使用 conda activate 激活环境:
    如果 Conda 版本较新,你可以尝试使用 conda activate moea 来激活环境。

    conda activate moea
    
  3. 检查 Conda 是否正确初始化:
    如果激活命令不起作用,可能是因为 Conda 没有正确初始化。你可以尝试运行以下命令来确保 Conda 初始化正确:

    conda init bash
    source ~/.bashrc
    

    如果你使用的是 Zsh 或其他 Shell,确保使用对应的配置文件,例如 ~/.zshrc

  4. 确保 Conda 安装正常:
    如果仍然有问题,可能是 Conda 安装有误。尝试重新安装 Conda,确保安装路径和配置正确。

  5. 使用 conda env 命令激活环境:
    你还可以尝试使用 conda env 命令激活环境:

    conda env list
    conda env activate moea
    

通过上述步骤,你应该能够找到解决方法,并成功激活 Conda 环境。如果问题仍然存在,可能需要查看 Conda 文档或社区论坛以获取进一步帮助。

Protocol Buffers报错

报错内容如下所示

发生异常: TypeError
Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:1. Downgrade the protobuf package to 3.20.x or lower.2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updatesFile "/home2/xwf/ML/MAML/maml/main.py", line 32, in <module>import tensorflow as tf
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:1. Downgrade the protobuf package to 3.20.x or lower.2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

这个错误是因为你的代码中使用了 Protocol Buffers (protobuf) 的某个功能,但是你的 protobuf 库的版本与你的代码或生成的 _pb2.py 文件不兼容。出现这种情况通常是因为 protobuf 库升级引入了一些不向后兼容的变化。

你有几个解决方案可以尝试:【我选择的是方法2, 就可以成功解决问题】

  1. 重新生成 Protocol Buffers 文件:如果你有访问原始的 .proto 文件,你可以使用最新版的 protoc 编译器重新生成 _pb2.py 文件。确保你的 protoc 编译器的版本至少为 3.19.0。你可以这样生成:

    protoc --python_out=. your_proto_file.proto
    
  2. 降级 protobuf 库:如果你不能重新生成 .proto 文件,可以尝试降级你的 protobuf Python 库到 3.20.x 或更低版本,这可能会解决版本不兼容的问题。你可以使用以下命令来降级:

    pip install protobuf==3.20.0
    
  3. 使用纯 Python 实现:作为临时解决方法,你可以设置环境变量 PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python 来使用纯 Python 的 protobuf 解析器。注意,这种方法的性能会比使用 C++ 优化的版本慢得多。你可以在你的 shell 中运行以下命令来设置这个环境变量:

    export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
    

    或者在 Python 脚本中添加:

    import os
    os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION'] = 'python'
    

这些方法中选择一个,看看能否解决你的问题。如果还有问题,我们可以探讨其他的解决方案。

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

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

相关文章

光伏远动通讯屏的组成

光伏远动通讯屏的组成 远动通讯屏主要用于电力系统数据采集与转发&#xff0c;远动通讯屏能够采集站内的各种数据&#xff0c;如模拟量、开关量和数字量等&#xff0c;并通过远动通讯规约将必要的数据上传至集控站或调度系统。这包括但不限于主变和输电线路的功率、电流、电压等…

@Validate分组验证参数

public interface Group {/*** 新增操作*/interface ADD {}/*** 更新操作*/interface UPDATE {}/*** 更新操作*/interface DELETE {} }Data EqualsAndHashCode(callSuper false) public class StudentInfoDto implements Serializable {private static final long serialVers…

温暖家居新风尚,能率壁挂炉——设计新风尚,体验再升级

随着家居品质要求的提升&#xff0c;现代人对家居的舒适性和设计感有了更高的追求。壁挂炉&#xff0c;作为现代家居中不可或缺的一部分&#xff0c;其重要性日益凸显。中国国际供热通风空调、卫浴及舒适家居系统展览会&#xff08;ISH China & CIHE&#xff09;将于2024年…

轻松搞定!png格式图片怎么弄?详细方法一网打尽

在数字图像处理的日常应用中&#xff0c;PNG格式因其高质量的图像和支持透明背景的特性而备受青睐。然而&#xff0c;对于一些刚刚接触这一格式的用户&#xff0c;或者在处理PNG图片时遇到一些挑战的用户来说&#xff0c;如何轻松而有效地处理这种格式的图像可能是个问题。png格…

汽车灯罩使用聚碳酸酯(PC)和PMMA(亚克力)哪个更好?汽车车灯的灯罩如果破损破裂破洞了要怎么修复?

汽车灯罩使用聚碳酸酯&#xff08;PC&#xff09;和PMMA&#xff08;亚克力&#xff09;哪个更好&#xff1f; 聚碳酸酯&#xff08;PC&#xff09;和PMMA&#xff08;亚克力&#xff09;都是汽车灯罩常见的材质&#xff0c;它们各自具有独特的优点和特性&#xff0c;因此选择…

Seata之TCC 模式的使用

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能…

【Go——实现小堆顶】

1. 堆概念 堆是一种经过排序的完全二叉树&#xff0c;其中任一非终端节点的数据值均不大于&#xff08;或不小于&#xff09;其左孩子和右孩子节点的值。 最大堆和最小堆是二叉堆的两种形式。 最大堆&#xff1a;根结点的键值是所有堆结点键值中最大者。 最小堆&#xff1a…

如何保护数据安全?迅软DSE加密系统给信息撑把保护伞!

信息安全当然需要保护&#xff0c;不然企业的信息可以发给任何人&#xff0c;普通信息还好&#xff0c;如果是重要机密呢&#xff0c;企业重要信息被发出去后可能会造成一些麻烦&#xff0c;所以可以使用加密系统&#xff0c;对数据进行安全保护&#xff0c;防止泄密问题&#…

集成学习案例-幸福感预测

集成学习案例一 &#xff08;幸福感预测&#xff09; 背景介绍 此案例是一个数据挖掘类型的比赛——幸福感预测的baseline。比赛的数据使用的是官方的《中国综合社会调查&#xff08;CGSS&#xff09;》文件中的调查结果中的数据&#xff0c;其共包含有139个维度的特征&#xf…

C++ | Leetcode C++题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m matrix.size(), n matrix[0].size();int low 0, high m * n - 1;while (low < high) {int mid (high - low) / 2 l…

用一个故事告诉你协程到底是什么

神秘使者 “久闻Java语言跨越平台&#xff0c;框架众多&#xff0c;不过二十年功夫&#xff0c;就已晋升天下第一编程语言&#xff0c;今日一见&#xff0c;果然名不虚传呐&#xff01;” “使者先生您过奖了&#xff0c;咱们快些走&#xff0c;国王陛下已经等候多时了” 今…

STM32的外设总了解

1.NVIC—嵌套向量中断控制器 2.SysTick—系统滴答定时器: 它们是内核里的外设 3.RCC—复位和时钟控制 这个外设十分重要,因为其他的外设再上电的情况下默认是没有时钟的&#xff0c;那么不给时钟的情况下&#xff0c;操作其他外设是无效的&#xff0c;外设不会工作,因此我们需要…

FFmpeg的GPU功能进行视频处理

要使用FFmpeg的GPU功能进行视频处理&#xff0c;你需要确保已经安装了NVIDIA的GPU驱动、CUDA和cuDNN&#xff0c;并且你的FFmpeg版本已经支持GPU加速。以下是一个简化的步骤说明&#xff1a; 安装NVIDIA驱动、CUDA和cuDNN&#xff1a; 首先&#xff0c;你需要安装与你的NVIDI…

Linux进程通信--共享内存

共享内存 共享内存概念 共享内存允许两个或者多个进程共享物理内存的同一块区域&#xff08;通常被称为段&#xff09;。由于 一个共享内存段会成为一个进程用户空间的一部分&#xff0c;因此这种 进程间通信&#xff08;IPC&#xff09; 机制无需内核介 入。所有需要做的就…

ansible——INVENTORY主机清单

一、Inventory主机清单 Inventory支持对主机进行分组&#xff0c;每个组内可以定义多个主机&#xff0c;每个主机都可以定义在任何一个或多个主机组内 二、Inventory主机清单部署 2.1 前期准备 systemctl stop firewalld setenforce 0 yum install epel-release -y yum install…

【知识碎片】2024_05_07

今天记录了两个代码和C的几个破碎知识。 第一段代码是基础型的&#xff0c;关于数组。第二段代码是二分的&#xff0c;一开始没通过全部案例&#xff0c;值得再看。 每日代码 1.记负均正 输入一个数组&#xff0c;输出负数的个数&#xff0c;整数的平均值&#xff08;0都不参…

【JavaEE初阶系列】——Servlet运行原理以及Servlet API详解

目录 &#x1f6a9;Servlet运行原理 &#x1f6a9;Servlet API 详解 &#x1f393;HttpServlet核心方法 &#x1f393;HttpServletRequest核心方法 &#x1f388;核心方法的使用 &#x1f534;获取请求中的参数 &#x1f4bb;query string &#x1f4bb;直接通过form表…

Matlab图像中加入脉冲噪声、高斯噪声并用均值滤波、中值滤波进行滤波处理

一、脉冲噪声和高斯噪声简介 脉冲噪声和高斯噪声是两种常见的信号干扰类型&#xff0c;它们的特性和影响各不相同&#xff1a; 脉冲噪声&#xff08;Impulse Noise&#xff09;&#xff1a; 在图像中&#xff0c;脉冲噪声表现为随机出现的亮点或暗点&#xff0c;这些噪声点通常…

vector介绍与使用【C++】

C vector 前言一、vector的介绍c文档介绍简介 二、vector的定义和使用vector的定义vector代码演示 vector的使用vector iterator 的使用vector 空间增长问题vector 增删查改vector 迭代器失效问题引起底层空间改变eraseg与vs检测比较string迭代器失效 vector 在OJ中的使用只出现…

pandas 预处理

文章目录 第1关&#xff1a;数据读取与合并第2关&#xff1a;数据清洗第3关&#xff1a;数据转换 第1关&#xff1a;数据读取与合并 任务描述 本关任务&#xff1a;加载 csv 数据集&#xff0c;实现 DataFrame 合并。 知识讲解 Pandas 模块导入 import pandas as pd 读取 cs…