IDLE 和 python 不同,无法正确安装模块
IDLE and python is different, not able to install modules properly
感谢阅读本文。我正在使用 macOS High Sierra。我对终端或环境变量不是很熟悉,但我想了解更多。通过阅读其他线程和 google,我似乎安装了多个 pythons,或者从不同的路径安装了 pythons 运行ning。但是,我无法通过重新定位我的 IDLE 或完全删除它来找到解决此问题的解决方案。
我确实安装了 python、python 启动器和 anaconda(不太确定 anaconda 是如何工作的,几年前安装过但没碰过)。我正在尝试安装 pandas (pip install pandas
),它告诉我我已经安装了它,但是当我 运行 它处于空闲状态时,它说找不到模块。虽然如果我 运行 python3
在终端上输入我的代码,它就可以工作(所以 pandas 确实已经安装)。
当我 运行 which python
在终端上时,它 returns
/Users/myname/anaconda3/bin/python
(当我从终端进入这个目录时,它显示在 bin 文件夹中,我有 python、python.app、python3、python3-config、python3.7, python3.7-配置, python3.7m, python3.7m-配置)
当我 运行 which idle
在终端上时,它 returns
/usr/bin/idle
(我什至不知道如何从终端找到这个目录)
当我 运行 import os; print(os.path)
处于空闲状态时,它 returns module 'posixpath' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/posixpath.py'
非常感谢您提供一些帮助来弄清楚如何确保当我从终端安装模块时,它将安装到与 IDLE 正在使用的相同的 python 中。另外,我想知道我是否可以在 VSCode 而不是 IDLE 上工作。我似乎无法为数据科学及其相关模块(如 statsmodels、pandas 等)找到合适的扩展。非常感谢!
第一:如果我有足够的声誉,这将是一个评论。
其次:我只想删除 python。一切。并重新安装。
首先简单介绍一下anaconda:
Anaconda 旨在帮助您管理多个 python“环境”,每个环境都可能有自己的 python 版本和已安装的软件包(具有各自的版本)。如果您想要多个 python 版本用于不同的任务,或者当其他软件包需要的软件包版本存在冲突时,这非常有用。默认情况下,anaconda 创建一个具有特定 python 版本、IDLE 和 pip 的“基础”环境。此外,anaconda 提供了一种改进的方式(相对于 pip
)通过命令 conda install <package-name>
.
安装和管理包
对于其余部分,我将使用“vanilla”一词来指代您手动设置的 python/installation,独立于 anaconda。
问题说明:
现在,问题出现了,因为您还独立安装了python。问题的细节取决于你如何准确地设置 python 和 anaconda,所以我不能告诉你到底出了什么问题。另外,我不是 OSX 用户,所以我不知道 python 是如何安装的以及它 downloads/sets 旁边有什么。
然而,根据你的描述,“vanilla”python 安装似乎既没有覆盖你的 anaconda python 也没有覆盖 anaconda 的 pip,但它确实安装了 IDLE 并将其设置为使用这个新的 python.
所以现在,当您通过 pip
下载内容时,只有来自 anaconda 的 python 能够看到,而 IDLE 的 python.
可能的解决方案:
1。快速修复:
只需 运行 每次都通过 /Users/myname/anaconda3/bin/idle3
空闲。这个使用 anaconda 的 python 和 应该 能够看到通过 pip install
conda install
安装的所有包 (*)。我知道这很烦人,但您不必删除任何内容。您还可以在 ~/.bashrc
文件中设置一个“别名”,使命令 idle
专门将您链接到那里。如果您希望我解释如何做到这一点,请通过评论告诉我,因为这个答案会变得太长且多余。
2。完全删除 conda(不推荐)
您可以搜索 google 以了解如何卸载 anaconda 及其已安装的所有内容。我现在不知道的是你的“vanilla”python 是否会成为默认设置,你是否还需要再次手动安装 pip 以及是否需要重新安装 python 以便一切正常。
3。删除你的 python “香草”安装,只使用 anaconda
同样,我不知道 python 安装在 OSX 中是如何工作的,但卸载它应该相当简单。现在的问题是你可能没有 IDLE 的启动器(因为我猜 anaconda 在 OSX 上没有提供)但是你将能够通过终端使用它,如 [=57= 中所述]1..
4。不得已:
如果一切都失败了,只需卸载您的 vanilla python(我想这也会卸载 IDLE)和 anaconda,后者将卸载它自己的 python、pip 和 idle 版本。相关文档应该不难理解。然后,重新安装你想要的任何一个。
最后:
当你解决你的问题时,你选择的任何IDE,VScode(我也没有用过),pycharm或其他东西,都可能能够与您安装的 python 集成。无需为每个 IDE.
安装一个新的 python “包”
(*): 既然你说在输入 pip install pandas
后你的 anaconda 的 python 可以导入 pandas 而 IDLE 不能,我是在我的回答中暗示 pip 也是 anaconda 附带的。您可以通过键入 which pip
来确保是这种情况,它应该指向一个 anaconda 目录,可能是 /Users/myname/anaconda3/bin/pip
重复和总结在其他各种问题的答案中所说的话:
1a。为特定的 python(3).exe 二进制文件安装第 3 方包。
1b。要将多个包安装到多个二进制文件,请参阅 python -m pip -h
.
中的选项
- 要找出哪个 python 二进制文件是 运行ning,请执行
import sys; print(sys.executable)
.
3a.对于通常安装在 some_python/Lib/site-packages 中的 3rd 方包 xyz,IDLE 本身与 import xyz
是否有效无关。 'somepython' 是否安装了 xyz 才重要(见 1a)。
3b。在终端或控制台中 运行 与 'somepython'、运行 somepython -m idlelib
空闲。
somepython
可以是 OS 识别的名称或 python 可执行文件的路径。
感谢阅读本文。我正在使用 macOS High Sierra。我对终端或环境变量不是很熟悉,但我想了解更多。通过阅读其他线程和 google,我似乎安装了多个 pythons,或者从不同的路径安装了 pythons 运行ning。但是,我无法通过重新定位我的 IDLE 或完全删除它来找到解决此问题的解决方案。
我确实安装了 python、python 启动器和 anaconda(不太确定 anaconda 是如何工作的,几年前安装过但没碰过)。我正在尝试安装 pandas (pip install pandas
),它告诉我我已经安装了它,但是当我 运行 它处于空闲状态时,它说找不到模块。虽然如果我 运行 python3
在终端上输入我的代码,它就可以工作(所以 pandas 确实已经安装)。
当我 运行 which python
在终端上时,它 returns
/Users/myname/anaconda3/bin/python
(当我从终端进入这个目录时,它显示在 bin 文件夹中,我有 python、python.app、python3、python3-config、python3.7, python3.7-配置, python3.7m, python3.7m-配置)
当我 运行 which idle
在终端上时,它 returns
/usr/bin/idle
(我什至不知道如何从终端找到这个目录)
当我 运行 import os; print(os.path)
处于空闲状态时,它 returns module 'posixpath' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/posixpath.py'
非常感谢您提供一些帮助来弄清楚如何确保当我从终端安装模块时,它将安装到与 IDLE 正在使用的相同的 python 中。另外,我想知道我是否可以在 VSCode 而不是 IDLE 上工作。我似乎无法为数据科学及其相关模块(如 statsmodels、pandas 等)找到合适的扩展。非常感谢!
第一:如果我有足够的声誉,这将是一个评论。
其次:我只想删除 python。一切。并重新安装。
首先简单介绍一下anaconda:
Anaconda 旨在帮助您管理多个 python“环境”,每个环境都可能有自己的 python 版本和已安装的软件包(具有各自的版本)。如果您想要多个 python 版本用于不同的任务,或者当其他软件包需要的软件包版本存在冲突时,这非常有用。默认情况下,anaconda 创建一个具有特定 python 版本、IDLE 和 pip 的“基础”环境。此外,anaconda 提供了一种改进的方式(相对于 pip
)通过命令 conda install <package-name>
.
对于其余部分,我将使用“vanilla”一词来指代您手动设置的 python/installation,独立于 anaconda。
问题说明:
现在,问题出现了,因为您还独立安装了python。问题的细节取决于你如何准确地设置 python 和 anaconda,所以我不能告诉你到底出了什么问题。另外,我不是 OSX 用户,所以我不知道 python 是如何安装的以及它 downloads/sets 旁边有什么。 然而,根据你的描述,“vanilla”python 安装似乎既没有覆盖你的 anaconda python 也没有覆盖 anaconda 的 pip,但它确实安装了 IDLE 并将其设置为使用这个新的 python.
所以现在,当您通过 pip
下载内容时,只有来自 anaconda 的 python 能够看到,而 IDLE 的 python.
可能的解决方案:
1。快速修复:
只需 运行 每次都通过 /Users/myname/anaconda3/bin/idle3
空闲。这个使用 anaconda 的 python 和 应该 能够看到通过 pip install
conda install
安装的所有包 (*)。我知道这很烦人,但您不必删除任何内容。您还可以在 ~/.bashrc
文件中设置一个“别名”,使命令 idle
专门将您链接到那里。如果您希望我解释如何做到这一点,请通过评论告诉我,因为这个答案会变得太长且多余。
2。完全删除 conda(不推荐)
您可以搜索 google 以了解如何卸载 anaconda 及其已安装的所有内容。我现在不知道的是你的“vanilla”python 是否会成为默认设置,你是否还需要再次手动安装 pip 以及是否需要重新安装 python 以便一切正常。
3。删除你的 python “香草”安装,只使用 anaconda
同样,我不知道 python 安装在 OSX 中是如何工作的,但卸载它应该相当简单。现在的问题是你可能没有 IDLE 的启动器(因为我猜 anaconda 在 OSX 上没有提供)但是你将能够通过终端使用它,如 [=57= 中所述]1..
4。不得已:
如果一切都失败了,只需卸载您的 vanilla python(我想这也会卸载 IDLE)和 anaconda,后者将卸载它自己的 python、pip 和 idle 版本。相关文档应该不难理解。然后,重新安装你想要的任何一个。
最后:
当你解决你的问题时,你选择的任何IDE,VScode(我也没有用过),pycharm或其他东西,都可能能够与您安装的 python 集成。无需为每个 IDE.
安装一个新的 python “包”(*): 既然你说在输入 pip install pandas
后你的 anaconda 的 python 可以导入 pandas 而 IDLE 不能,我是在我的回答中暗示 pip 也是 anaconda 附带的。您可以通过键入 which pip
来确保是这种情况,它应该指向一个 anaconda 目录,可能是 /Users/myname/anaconda3/bin/pip
重复和总结在其他各种问题的答案中所说的话:
1a。为特定的 python(3).exe 二进制文件安装第 3 方包。
1b。要将多个包安装到多个二进制文件,请参阅 python -m pip -h
.
- 要找出哪个 python 二进制文件是 运行ning,请执行
import sys; print(sys.executable)
.
3a.对于通常安装在 some_python/Lib/site-packages 中的 3rd 方包 xyz,IDLE 本身与 import xyz
是否有效无关。 'somepython' 是否安装了 xyz 才重要(见 1a)。
3b。在终端或控制台中 运行 与 'somepython'、运行 somepython -m idlelib
空闲。
somepython
可以是 OS 识别的名称或 python 可执行文件的路径。