ipython 尝试从 venv 自动启动

ipython attempts to automatically start from venv

我刚刚在我的 Linux Mint 19.3 机器上的 root/global 上安装了 ipython(即只是 apt install ipython ipython3 而不是在 venv 中)。但是,尝试 运行 它给出了一个错误:

user@computer:/media/disk/dir$ ipython
/home/user/.local/bin/ipython: 2: exec: /media/disk/venv/bin/python3: not found
user@computer:/media/disk/dir$ ipython3
/home/user/.local/bin/ipython3: 2: exec: /media/disk/venv/bin/python3: not found

错误是它试图自动加载虚拟环境,但它们不存在(不再存在)。我不明白为什么会这样。

找不到关于此的问题,有很多关于 运行ning 从虚拟环境中故意,但我只想 运行 它正常。

我的 python 垃圾箱在通常的地方:

user@computer:/media/disk/dir$ which ipython
/home/user/.local/bin/ipython
user@computer:/media/disk/dir$ which ipython3
/home/user/.local/bin/ipython3

运行 只是 python3 通常似乎在路径方面工作正常:

user@computer:/media/disk/dir$ python3
Python 3.6.9 (default, Apr 18 2020, 01:56:04) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/user/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.6/dist-packages']
>>> import os
>>> os.getcwd()
'/media/disk/dir'

系统:

user@computer:/media/disk/dir$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 19.3 Tricia
Release:    19.3
Codename:   tricia

我在 ~/.bashrc 中没有任何相关设置。

更多信息:

user@computer:/media/disk/dir$ type -a python3 ipython3
python3 is /usr/bin/python3
ipython3 is /home/user/.local/bin/ipython3
ipython3 is /usr/local/bin/ipython3
ipython3 is /usr/bin/ipython3

user@computer:/media/disk/dir$ head -1 -- $(type -P ipython3)
#!/bin/sh

这些在我看来很正常。

APT 在 /usr/bin/ipython3.

安装 IPython 3

这意味着您在 ~/.local/bin/ipython3 有一个额外的 IPython 安装,它引用了 virtualenv。如果你还有 virtualenv 我会说使用 pip 卸载它,但由于 virtualenv 已经不存在了,我想你可以手动删除它。

您可能在 /usr/local/bin/ipython3 处还有一个额外的,但我不确定。那就是 sudo pip 安装它的地方。

话虽如此,根据我在 Ubuntu(类似于 Mint)上使用 IPython 和 pip 的经验,默认的存储库总是非常过时。我个人发现的最佳解决方案是在我的主文件夹中设置一个 virtualenv 并在其中安装 IPython,然后将其 link 放入我在 ~/.local/bin 的 PATH 中,就像您的设置一样有。