Python环境使用的一些个人习惯

推荐使用Miniconda(安装略)

conda换国内镜像源

C:\Users\你的用户名(linux是~/)目录下找到文件.condarc,若没有就自己创建一个,可以手动创建,也可以在终端输入conda config --set show_channel_urls yes回车创建。
在里面写入以下三个之一:

  • 清华大学开源软件镜像站
channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true
  • 中国科学技术大学 USTC Mirror
channels:
 - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
 - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
 - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true
  • 上海交通大学开源镜像站
channels:
  - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
  - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
  - https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true

查看镜像源(anaconda配置),打开命令行输入:

conda config --show

恢复默认镜像源:

conda config --remove-key channels

如果后续创建虚拟环境时出现CondaHTTPError错误,试试将https改成http

虚拟环境管理

创建虚拟环境
创建一个虚拟环境,python版本为3.6,虚拟环境名为 test

conda create --name test python=3.6

查看所有的虚拟环境

conda env list

激活虚拟环境

conda activate test

退出虚拟环境

conda deactivate

删除虚拟环境

conda env remove -n test

共享虚拟环境

所谓共享虚拟环境,就是将虚拟环境中的所有的包信息统一导出到一个配置文件中,当在别的机器中时,可以根据此配置文件构建出一个一摸一样的虚拟环境。

导出依赖包到配置文件:

conda env export --file test_env.yml

运行命令后,当前目录下就回生成一个 test_env.yml 文件,包含了 test环境中所有依赖信息。
根据配置文件创建虚拟环境:

conda env create -f test_env.yml

环境迁移
先下载conda-pack:

pip install conda-pack

然后打包:

conda pack -n 环境名

将当前目录下的环境名.tar.gz(文件可能超级大)拷贝到在其他机子上,解压到anaconda安装目录下的envs目录下即可使用。

克隆虚拟环境

假设已有环境名为A,需要生成的环境名为B:

conda create -n B --clone A

或者根据已有环境的路径来生成新的虚拟环境:

conda create -n B --clone D:\A

虚拟环境常见问题

  • 问题一:CommandNotFoundError
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

解决方案:
不要直接使用activate env_name,请使用source activate env_name

如果你照着错题提示运行了 conda init bash,终端会出现以下提示:

no change     /public/home/jnchin/anaconda3/condabin/conda
no change     /public/home/jnchin/anaconda3/bin/conda
no change     /public/home/jnchin/anaconda3/bin/conda-env
no change     /public/home/jnchin/anaconda3/bin/activate
no change     /public/home/jnchin/anaconda3/bin/deactivate
no change     /public/home/jnchin/anaconda3/etc/profile.d/conda.sh
no change     /public/home/jnchin/anaconda3/etc/fish/conf.d/conda.fish
no change     /public/home/jnchin/anaconda3/shell/condabin/Conda.psm1
no change     /public/home/jnchin/anaconda3/shell/condabin/conda-hook.ps1
no change     /public/home/jnchin/anaconda3/lib/python3.7/site-packages/xontrib/conda.xsh
no change     /public/home/jnchin/anaconda3/etc/profile.d/conda.csh
modified      /public/home/jnchin/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

可以看到只修改了.bashrc文件。这时重启shell会发现终端每一行命令前面都出现了(base)。
如果你想回到原来的样子,只需再把.bashrc文件改回来就行了。
打开.bashrc文件,把:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/public/home/jnchin/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/public/home/jnchin/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/public/home/jnchin/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/public/home/jnchin/anaconda3/bin:$PATH"  # 只留这行
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

改成:

export PATH="/public/home/jnchin/anaconda3/bin:$PATH"

获取当前环境的依赖requirements.txt

pip freeze > requirements.txt

python包下载

pip download -r ./requirements.txt -d ./pip_packages

jupyter修改默认工作目录

1、启动cmd,执行以下命令,来查看 jupyter 配置文件路径,如果原先没有就会自动创建。

jupyter notebook --generate-config

在这里插入图片描述
2、顺藤摸瓜,找到配置文件 jupyter_notebook_config.py
在这里插入图片描述
3、修改配置文件
找到如下语句

## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''

并将其修改为

## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = 'D:/workspace/ipynb'

其中 D:/workspace/ipynb 是我们想要设为的默认工作目录。
当然了,前提是这个目录必须是存在的,需要你提前手动新建的,不然会报错。

4、修改jupyter快捷方式
在这里插入图片描述
右键属性,将“%USERPROFILE%”删除并保存。
在这里插入图片描述

jupyter添加虚拟环境的python内核

如果我想在jupyter notebook里使用虚拟环境怎么办?
目前网上有很多解决办法,不过原理都是在每个环境下装一个ipy的内核。即:
启动cmd,进入主环境中,输入如下命令:

conda install nb_conda_kernels

即可。

打开jupyter后效果图如下:
在这里插入图片描述

如果有些环境没显示,那就说明这个环境里没有装ipykernel内核包,(主环境)输入以下命令即可:

conda install -n 虚拟环境名 ipykernel

参考: https://github.com/Anaconda-Platform/nb_conda_kernels

jupyter安装目录插件

打开cmd,依次执行如下两条命令:

pip install jupyter_contrib_nbextensions  # 安装第三方包
jupyter contrib nbextension install --user --skip-running-check  # 对 jupyter 进行配置

然后打开jupyter,找到 Nbextensions 选项,勾选 Table of Contents (2) 即可:
在这里插入图片描述
效果图如下:
在这里插入图片描述

conda 中下载包的位置:anaconda3\pkgs

  • 在 conda 的设计中,目录 anaconda3\pkgs 是 下载、存放缓存,以及提取下载的conda包的地方。同时,anaconda自带的包也会放在这里。
  • 它有一个非常关键的作用:我们在构建一些envs的时候,对一些包的依赖会通过硬盘链接链接到pkgs目录,这样虚拟环境生成的速度大大加快,占用空间就大大减小了。
  • 有的时候可以预先下载好一些包,放到pkgs里面,再运行 conda install 安装包的指令,安装时间就会少了。

在anaconda中,最安全的安装和升级命令是conda install XX,而python中是pip。
anaconda 下依然可以使用pip安装升级,但会出现一些依赖可能会因为更新后的版本过高出现异常。

conda清除缓存

conda clean -p      //删除没有用的包
conda clean -t      //删除tar包
conda clean -t      //删除索引缓存、锁定文件、未使用过的包和tar包。

pip清除缓存

pip cache purge

这个命令会清除所有缓存,包括已下载但未安装的软件包和已安装但未被使用的缓存。

只想清除特定软件包的缓存,可以使用以下命令:

pip cache remove package-name

其中,package-name 是你要清除缓存的软件包的名称。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值