我正在运行 Linux Mint 18 Sarah。
我尝试运行一个.py
具有 pygame 依赖项的文件,因此我pip
将 pygame 安装到我的虚拟(conda)python 环境中。到目前为止,一切都很好。测试发现,当我通过输入 shell 进入系统 python 时python
,我可以import pygame
创建一些 pygame 对象,而不会出现错误。
但是当运行python my_script.py
(使用 pygame 依赖项)时,我遇到了一个奇怪的错误。Fatal Python error: (pygame parachute) Segmentation Fault Aborted
有人建议我卸载 pygame 并重新安装,这就是让我感到困惑的地方。
当我去卸载时,我收到了消息E: Unable to locate package pygame
。但当我再次尝试时pip install
,我收到了消息Requirement already satisfied: pygame in /home/max/anaconda3/envs/udacity_ml_nd/lib/python2.7/site-packages
。
谁能解释为什么Python在同一个虚拟(conda)环境中的同一个终端会话中既可以又不能找到这个包?如果我可以提供任何进一步的信息,请告诉我。
答案1
最终对我有用的是:
使用 和 进行
conda uninstall
卸载pip uninstall
- 秩序在这里似乎很重要。我认为
pip uninstall
在我第一次编辑之前我无法工作conda uninstall
,或者也许我已经倒退了。
- 秩序在这里似乎很重要。我认为
关闭终端并重新进入我的 conda 虚拟环境 (
source activate my_env-name
)pip install pygame
(不是conda install pygame
,这引起了问题)
学过的知识
我安装了 pygame 和 conda 和 pip,这对于任何软件包来说可能都是一个非常糟糕的主意。想必将来,当使用 pip 或 conda 安装后出现某些问题时,B 计划应该是首先使用 pip 或 conda 进行卸载在使用另一个重新安装之前。也许应该已经知道了......