linux - “错误的解释器:没有这样的文件或目录”的原因是什么?
问题描述
我的 linux 机器上有一个 Python 虚拟环境。它已经工作了两个星期,但是我今天突然醒来,在环境中我无法执行任何命令。例如,如果我尝试使用 pip list 或 jupyter notebook,这就是我得到的(env 是我的环境的名称):
~/env/bin$ pip list
-bash: /home/ubuntu/env/bin/pip: /home/ubuntu/env/bin/python: bad interpreter: No such file or directory
基本上任何其他命令都会发生同样的事情,除了 Python。键入 python 可以很好地调出 Python shell。有趣的是,当我只在这种环境中使用 pip 时,它却说 Anaconda。
我试图找到这方面的信息,但它们似乎都与运行脚本有关。
编辑:还想提一下,当我手动查看环境 bin 时,我安装的包都是绿色的,除了 Python 是红色的。
先感谢您。
解决方案
您有一个脚本/home/ubuntu/env/bin/pip
,并且该脚本具有shebang #!/home/ubuntu/env/bin/python
,但该文件不存在或不可执行。
检查文件是否/home/ubuntu/env/bin/python
存在。检查它是否可以由当前用户执行(只需从命令行运行它)。如果没有——你需要找到一个可以工作的可执行文件(例如,它可能是/home/ubuntu/env/bin/python3
),编辑第一行/home/ubuntu/env/bin/pip
来修复 shebang。
推荐阅读
- hibernate - JPA AttributeOverride.column() 应该覆盖所有列
- java - MapView 地图未在运行时呈现 {Screenshot Attached}
- python - Python Selenium WebDriverException:消息:chrome 不可访问,当两者都是最新的
- ios - SF Symbol imageView 不符合pointSize?
- python - 当提供的数据是 XML 时,如何从检查菜单中检索相同的 HTML?
- c# - 为实现分组的 UWP XAML 创建自定义 ICollectionView 对象
- python - 在长字符串python中插入字符
- python - 如何为自定义日历和时间表重新采样和清理数据框?
- javascript - 按 id mongoose 分组字段
- python - 微秒必须在 0..999999(获取 Outlook 电子邮件时间)