深度学习环境常见命令操作

一 虚拟环境相关命令

conda create --name *** python=3.6 # 建立名字为“***”的虚拟环境,并安装3.6版本的Python
conda create --name 新名称 --clone 原名称# 创建新的虚拟环境,并克隆指定环境(即copy环境),除环境名字不同,其余所有皆相同
conda env list # 查看当前虚拟环境
conda remove -n ** --all # 删除名为“**”的虚拟环境

二 操作系统相关命令

WSL Ubuntu忘记root密码和用户密码

一、重置root密码
1 以管理员身份打开 PowerShell
2 输入命令 wsl.exe --user root
3 输入命令 passwd root 修改 root 密码
4 输入新的密码并确认后,root密码即得到重置
二、重置用户密码
重置与用户密码与重置root密码类似:
1 以管理员身份打开 PowerShell
2 输入命令 wsl.exe --user root
3 输入命令 passwd username 修改用户密码,username即待重置的用户的名称

三 复制环境依赖

一般是在复现相同环境时使用,一键快捷省心。例如更换服务器、复现git开源工程等

conda

conda导出已有的环境,保存在myenv.yaml文件中

conda env export > myenv.yaml

根据yaml文件导入并安装环境

conda env create -f myenv.yaml

注:.yaml文件移植过来的环境只是原来环境里用conda install命令安装的包,pip安装的不会移植过来,需要重新安装。

pip

把环境中的依赖写入 requirement.txt 中

pip freeze >requirements.txt

安装环境依赖

pip install -r requirement.txt

四 Linux系统迁移复制、剪切、粘贴文件命令

mv src_file(文件) dest_directory(目录)

Linux系统使用命令新建一个文件夹:

# 在当前目录下创建一个名为"my_new_folder"的新文件夹
mkdir my_new_folder

# 如果要在特定路径下创建文件夹,例如在/home/user/documents路径下创建一个"project"文件夹
mkdir /home/user/documents/project

# 递归创建多级目录
mkdir -p /path/to/multiple/nested/directories

Linux系统使用命令删除一个文件夹:

# 使用 rmdir 删除空文件夹
rmdir folder_name

# 使用 rm -r 删除空文件夹(同样适用非空文件夹)
rm -r folder_name

# 强制删除非空文件夹及其所有内容
rm -rf folder_name

Linux系统使用命令将一个文件夹内容复制到另一个文件夹内:

# 假设您要将源文件夹 /path/to/source_folder 的内容复制到目标文件夹 /path/to/destination_folder 内

# 使用以下命令:
cp -r /path/to/source_folder/* /path/to/destination_folder/

# 解释:
# - cp 是复制命令
# - -r 表示递归复制,用于处理目录及其包含的子目录和文件
# - source_folder/* 表示源文件夹下的所有内容
# - destination_folder/ 是目标文件夹的路径

# 如果目标文件夹不存在,则需要先创建它,可以使用 mkdir 命令:
mkdir -p /path/to/destination_folder/

# 然后执行复制命令
cp -r /path/to/source_folder /path/to/destination_folder/

# 或者,如果你想把源文件夹作为一个子目录复制到目标文件夹内(保留源文件夹结构),也可以这样写:
cp -r /path/to/source_folder /path/to/destination_folder/

五 解决Linux系统vscode文件权限不足问题

适用于文档

  1. 当前文件夹下打开终端
  2. sudo su命令进入root权限
  3. sudo chown user_name file_name,user_name对应系统用户名,file_name对应修改的文件名

在Linux系统中,Visual Studio Code(VSCode)遇到写入文件权限不足的问题时,通常是因为当前用户没有足够的权限来编辑或保存文件。以下是一些解决此问题的方法:

专业意见:

  1. 更改文件所有者
    如果你想让当前用户拥有对特定文件或目录的写权限,可以将文件的所有权更改为当前用户。

    sudo chown -R [username]:[group] /path/to/directory
    

    其中,[username]是你的用户名,[group]是对应的组名(可选,如果不指定组,则默认为主用户的主组),/path/to/directory是你想要更改所有权的文件或目录路径。

  2. 调整文件或目录权限
    你可以使用chmod命令增加其他用户或组的写权限。

    sudo chmod -R u+w,g+w,o+w /path/to/directory
    

    上述命令递归地给所有用户(u、g、o分别代表用户、组和其他)添加了写入权限(w)。但请注意,这种方法可能带来安全风险,因为它可能会给予过多的访问权限。

  3. 以普通用户身份运行VSCode
    如果你之前是以root用户身份运行VSCode,导致无法正常保存非root用户下的文件,可以尝试不使用sudo启动VSCode,并通过--user-data-dir参数指定工作区的数据目录到普通用户有权访问的位置。

    code --user-data-dir ~/vscode-data /path/to/project
    
  4. 修改项目目录权限
    只针对特定项目的文件和目录,你也可以只更改这些特定文件和目录的权限,而不影响其他系统文件。

  5. 使用VSCode的工作区设置
    在VSCode内部打开工作区时,确保工作区内的文件夹是在具有足够权限的用户下打开的。

  6. 避免直接在系统敏感位置创建项目
    不要在需要高权限才能操作的系统目录(如/usr/var等)下创建项目,而应该在用户home家目录或其他有足够权限的自定义目录下创建项目。

根据实际情况选择合适的方法,确保在赋予更多权限时不会破坏系统的安全性原则。

六 Linux系统进入、退出root权限命令

进入root权限

sudo su 命令

退出root权限

exit 直接退出root权限
su 普通用户名 切换至普通用户权限

七 Linux系统vim命令

Vim 是一个强大的基于命令行的文本编辑器,它具有多种模式来适应不同的文本处理需求。以下是 Vim 编辑器中一些主要命令和模式的详解:

模式切换

  1. 正常模式(Command Mode)

    • 进入:打开 Vim 后默认进入此模式。
    • 功能:在该模式下可以执行文件操作、移动光标、复制、粘贴、查找替换等大量操作,但不能直接输入文本。
  2. 插入模式(Insert Mode)

    • 进入:在正常模式下按 i(在光标前插入)、a(在光标后插入)、I(在当前行首插入)、A(在当前行末插入)或 o(在当前行下方新开一行并插入)、O(在当前行上方新开一行并插入)等键可进入插入模式。
    • 功能:在此模式下,您可以像使用普通文本编辑器那样输入和编辑文本。
  3. 可视模式(Visual Mode)

    • 进入:在正常模式下按 v(字符可视选择)、V(行可视选择)或 <C-v>(块可视选择)可进入可视模式。
    • 功能:选中文本区域以进行复制、剪切、替换等操作。
  4. 替换模式(Replace Mode)

    • 进入:在正常模式下按 R 进入替换模式。
    • 功能:每次按键都会替换当前位置的字符,直到按下 Esc 回到正常模式。
  5. 末行模式(LastLine Mode 或 Ex Mode)

    • 进入:在正常模式下按 :(冒号)即可进入末行模式。
    • 功能:在此模式下可以执行保存文件(:w)、退出(:q),保存并退出(:wq)、不保存退出(:q!)等操作以及运行各种高级编辑命令。

常用命令举例:

  • 移动光标:h(左)、j(下)、k(上)、l(右)、gg(跳转到文件首行)、G(跳转到文件尾行)、w(跳至下一个单词开头)、b(跳至前一个单词开头)。

  • 删除操作:x(删除光标处单个字符)、dw(删除光标至下一个单词结尾)、dd(删除当前行)、d$(删除从光标到行尾)。

  • 复制与粘贴:yy(复制当前行)、nyy(复制当前行及以下n行)、p(粘贴在光标之后)、P(粘贴在光标之前)。

  • 查找与替换:/pattern(向下查找指定模式)、?pattern(向上查找指定模式)、:s/old/new/g(替换当前行所有匹配项)。

  • 保存与退出:

    • 保存并退出::wq:x(仅当无未保存更改时可用)。
    • 强制保存并退出::wq!
    • 不保存并退出::q!

以上只是 Vim 命令的一小部分,Vim 的强大之处在于其丰富的组合命令和高度自定义性。要深入了解 Vim,建议通过实践和查阅官方文档学习更多进阶技巧和功能。

八 深度学习anaconda / conda 环境复制和迁移

  1. 使用 conda create 命令的 --clone 参数直接复制一个环境
    conda create --name <new_env> --clone <myenv>
  2. 操作系统相同时的迁移:
    使用 conda list 命令保存当前环境的包的信息到一个txt文件:
    conda list --explicit > requirements.txt
    根据这个文件可以在其他电脑上进行相同环境的安装:
    conda create --name <new_env> --requirements.txt
  3. 操作系统不同时的迁移:
    重点方法:
    导出 environment_name.yml 文件:
    conda env export > environment.yml
    利用生成的environment_name.yml 文件复现环境:
    conda env create -f environment.yml
    注意:此时导出的文件中,可能包含特定平台和系统的信息。如果你在导出环境时不希望包含特定于平台的构建信息,可以在导出命令中添加 --no-builds 选项,如:
    conda env export --no-builds > environment.yml

该命令会导出当前激活的Conda环境的完整配置信息到一个名为environment.yml的文件中。这个文件通常用于完全重建相同的环境,包括:

环境名称:定义了环境的唯一标识。
Python版本:指定环境中使用的Python解释器版本。
通道(channels):列出用于查找和安装包的Conda频道。
依赖包:列举所有安装在环境中的软件包及其精确版本,包括Conda包和通过pip install安装的Python包。
其他配置(如:代理设置、额外的依赖项约束等):如果环境中包含这些特殊的配置信息,它们也可能被包含在导出的文件中。
使用conda env create -f environment.yml命令,可以基于这个文件创建一个与原环境几乎完全一致的新环境,包括所有的软件包、版本以及环境配置。
补充:
conda list 命令默认列出当前环境中通过Conda安装的软件包
pip list 命令默认列出pip安装的软件包列表
如果仅需要pip安装的所有包,使用命令:
pip freeze >pip-requirements.txt
pip install -r pip-requirements.txt
仅复现pip安装的包

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值