wsl+anaconda

  1. 安装wsl wsl --install,用户名wu,密码 123456, https://learn.microsoft.com/en-us/windows/wsl/install

  2. 安装anaconda, 把anaconda移动到wu目录下,在wu用户以及用户目录下执行bash Anaconda-文件名,安装目录为/home/wu/anaconda3

  3. 配置conda环境变量,root和wu用户均需要

    #wu用户
    vim ~/.bashrc
    #在最后一行加上, 按:直接跳到最后一行
    export PATH=$PATH:/home/wu/anaconda3/bin
    #保存并退出
    source ~/.bashrc
    #查看能否找到Conda命令
    conda -V
    
    
    #root用户下执行上面相同操作
    
  4. 使用su切换root用户会出现su:Authentication failure,这个问题产生的原因是由于 ubuntu 系统默认是没有激活 root 用户的

    sudo passwd
    输入root用户密码
    
  5. 创建环境
    conda create -n environment_name python=3.6

  6. 激活新创建的环境会出现以下错误
    wsl+anaconda_第1张图片
    提示内容已经给出原因,当前使用的 shell 没有配置好 conda activate,需要运行 conda init 初始化 shell
    在这里插入图片描述
    参考链接

  7. 但是再次打开WSL,激活LG环境还是会报同样的错误
    wsl+anaconda_第2张图片
    解决方法就是 执行 conda init 命令,关闭wsl,然后重启

  8. 安装拓展包

    pip install -r LGLP_requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
    
    
  9. 安装拓展包会出现如下问题 subprocess.CalledProcessError: Command '['which', 'g++']' returned non-zero exit status 1.这个错误主要表明,当前电脑没有 g++ 模块,

    sudo apt-get install make gcc g++  
    sudo apt-get install manpages-dev
    # 或者使用下面的一步命令
    # sudo apt-get install build-essential
    # 安装后,可以运行下面命令查看是否安装成功
    g++ --version	# 查看当前版本
    
  10. 执行 命令时会出现

请添加图片描述执行apt-get update,会出现Permission deny,改为root用户执行该命令,或者使用sudo apt-get update
wsl+anaconda_第3张图片

  1. 再次执行sudo apt-get install make gcc g++ 会出现

wsl+anaconda_第4张图片

  1. Uable to locate package问题,修改镜像源

    # 修改 apt-get 源的配置文件
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
    sudo vim /etc/apt/sources.list #修改
    #添加aliyun镜像源
    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    
    sudo apt-get update #更新列表
    
  2. 再次安装g++模块

    sudo apt-get install make gcc g++  
    sudo apt-get install manpages-dev
    # 或者使用下面的一步命令
    # sudo apt-get install build-essential
    # 安装后,可以运行下面命令查看是否安装成功
    g++ --version	# 查看当前版本
    
  3. 使用pycharm进行debug时经常会出现connection refused
    wsl+anaconda_第5张图片

  4. 使用ifconfig查看wsl的ip地址,如果没有ifconfig命令,先安装

    wsl+anaconda_第6张图片

  5. 使用ipconfig查看,WSL是有对应的虚拟网卡的,172.28.48.1

wsl+anaconda_第7张图片

  1. pycharm的报错居然是Could not connect to 172.0.0.1:35895, PyCharm估计是作为客户端, 而WSL这个虚拟网卡是作为服务器, pycharm先连接WSL, 然后WSL网卡转发给内部的py解释器.
    应该是在PyCharm向WSL网卡发起TCP连接时被防火墙拦截了,接下来配置一下windows的防火墙的入站规则
    原文链接:https://blog.csdn.net/qq_38992249/article/details/122387097

  2. windows防火墙入站规则

    wsl+anaconda_第8张图片

  3. 允许pycharm的TCP请求通过
    wsl+anaconda_第9张图片

  4. 再次debug即可成功

WSL2重启

在cmd窗口下执行如下命令
列出WSL子系统


wslconfig /list
wsl --list
wsl -l -v

关闭Ubuntu子系统

wsl --terminate Ubuntu
wsl -t Ubuntu

关闭WSL

wsl --shutdown

启动WSL

wsl

你可能感兴趣的:(wsl,Python,Linux,python,ubuntu,linux,wsl)