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

本文主要是介绍虚拟环境安装+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'
    

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

这篇关于虚拟环境安装+tmux+nvitop+conda activate无法激活环境的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969583

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监