ipython尝试从venv自动启动

ipython尝试从venv自动启动,python,ipython,virtualenv,Python,Ipython,Virtualenv,我刚刚在root/global上安装了ipython,即在我的LinuxMint19.3机器上的venv中安装了apt-install-ipython-ipython3。但是,尝试运行时会出现错误: 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$

我刚刚在root/global上安装了ipython,即在我的LinuxMint19.3机器上的venv中安装了apt-install-ipython-ipython3。但是,尝试运行时会出现错误:

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
错误在于它试图自动加载虚拟环境,但虚拟环境已不存在。我不明白它为什么会这样

找不到关于这方面的问题,有很多是关于故意从虚拟环境运行的,但我只想正常运行它

我的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安装ipython3

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

您可能会在/usr/local/bin/ipython3上有另一个额外的地址,但我不确定。SudoPip将在那里安装它


话虽如此,根据我在Ubuntu上使用类似Mint的IPython和pip的经验,默认回购协议总是非常过时。我个人找到的最佳解决方案是在我的主文件夹中设置一个virtualenv并在其中安装IPython,然后将其链接到~/.local/bin中的我的路径中,就像您之前的设置一样。

您是如何安装IPython的?另外,在root/global上发布类型-a python3 ipython3和head-1-$type-P ipython3安装的ipython的输出-你确定吗?因为系统范围的安装将在/usr/bin或/usr/local/bin中,但您的安装在~/.local中/bin@wjandrea,我用更多信息更新了帖子。很好!我用rm~/.local/bin/ipython和rm~/.local/bin/ipython3删除了额外的ipython。跑步user@computer:/media/disk$which ipython/usr/local/bin/ipython,因此它恢复为正常。运行ipython不起作用bash:/home/user/.local/bin/ipython:没有这样的文件或目录,但这是bash的问题,打开一个新的终端修复了它。@delet是的,bash记得命令位置。您可以使用hash-r重置它。很高兴它成功了!