问题记录usr/bin/env: “python‘: Too many levels of symbolic links

一、背景:

pycharm远程开发,服务器环境(Miniconda conda3;Python 3.6(ubuntu16.04))

二、问题:

服务器运行demo.py文件时,出现代码语法报错,打算通过pycharm远程调试,pycharm远程配置后,遇到usr/bin/env: "python': Too many levels of symbolic links问题,如图所示:

当然pycharm远程配置也失败了,也是报一样的错误Too many levels of symbolic links

注:pycharm远程配置之前,服务器中运行demo.py没有这样的问题,猜测是远程配置过程中引发的

三、解决:
  1. 解决远程主机,即服务器上的python问题
# 进入python解释器的上一目录 /root/miniconda3/envs/torch_1.3/bin/
ls -l | grep python
(torch_1.3) root@autodl-container-7f50119152-96cdd58b:~/miniconda3/envs/torch_1.3/bin# ls -l | grep python
lrwxrwxrwx 1 root root      45 Mar  7 12:20 python -> /root/miniconda3/envs/torch_1.3/bin/python3.6
lrwxrwxrwx 1 root root       6 Mar  7 12:20 python3 -> python
lrwxrwxrwx 1 root root      17 Feb  7 20:54 python3-config -> python3.6m-config
lrwxrwxrwx 1 root root       6 Mar  7 12:20 python3.6 -> python
lrwxrwxrwx 1 root root      17 Feb  7 20:54 python3.6-config -> python3.6m-config
-rwxrwxr-x 1 root root    3537 Feb  7 20:54 python3.6m-config

可以看到python指向的是python3.6,但是python3.6指向的是python,出现一个循环,且这个路径下没有可以执行的python解释器

我的解决方式:

# 重新创建一个虚拟环境,名为:test-env,Python版本为3.6(需要什么版本,就创建什么版本的)
conda create -n test-env python=3.6
# 进入python解释器的上一目录 /root/miniconda3/envs/test-env/bin/
cd /root/miniconda3/envs/test-env/bin/
# ls 可以看到bin下面有我需要的python3.6 可执行文件,
# 当然可以通过Xftp,直接看到bin下面有我需要的python3.6 可执行文件
# 下一步就是把这个python3.6 可执行文件 复制一份到 
# /root/miniconda3/envs/torch_1.3/bin/下

现在有了可以执行的python解释器,下一步是,调整python指向问题,需要python指向python3.6

把不需要的link删除,建立需要的link

unlink python3.6

删除python3.6这个链接就可以了,每一次情况不一样,看情况进行分析,反正最终的目的是,有一个python软链接指向可以执行的python3.6文件,

最后,可以检查一下

(torch_1.3) root@autodl-container-7f50119152-96cdd58b:~/miniconda3/envs/torch_1.3/bin# ls -l | grep python
lrwxrwxrwx 1 root root       45 Mar  7 12:59 python -> /root/miniconda3/envs/torch_1.3/bin/python3.6
lrwxrwxrwx 1 root root       17 Feb  7 20:54 python3-config -> python3.6m-config
-rwxrw-rw- 1 root root 10668400 Mar  7 12:41 python3.6
lrwxrwxrwx 1 root root       17 Feb  7 20:54 python3.6-config -> python3.6m-config
-rwxrwxr-x 1 root root     3537 Feb  7 20:54 python3.6m-config

检查无误后,可以再看看python3.6是否可以正常找到

(torch_1.3) root@autodl-container-7f50119152-96cdd58b:~/miniconda3/envs/torch_1.3/bin# which python
/root/miniconda3/envs/torch_1.3/bin/python
(torch_1.3) root@autodl-container-7f50119152-96cdd58b:~/miniconda3/envs/torch_1.3/bin# python3.6
Python 3.6.13 |Anaconda, Inc.| (default, Jun  4 2021, 14:25:59) 

最后的最后,要确保那个python3.6可以执行哦!!!

如果不能执行,通过chmod 766 python3.6 修改即可。

  1. pycharm远程配置避免再次引发问题

按照相关教程操作即可,但是选择虚拟环境解释器时,一定要选择,现有,然后选择刚那个可以执行的python3.6解释器。(可能新建会引发刚那个问题吧,我第一次是新建的,就遇到那个问题了,后来解决之后,选择“现有”,就成了)

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值