安装模块时出现 Python ImportError [Ubuntu]

标签 python linux ubuntu

我想从 Windows 切换到 Linux (Ubuntu) 来编写我的 python 程序,但我就是无法正常工作。问题在于:我可以看到在 Ubuntu 中预装了相当多的模块(如 numpy、pandas、matplotlib 等)。它们很好地位于/host/Python27/Lib/site-packages 目录中。但是当我编写一个测试 python 脚本并尝试执行它时,每当我尝试导入一个模块时它都会给我一个 ImportError (例如 import numpy as np 给我 ImportError: No module named numpy).当我在命令行中键入 which python 时,我得到了 /usr/bin/python 路径。我想我可能需要更改与 python 路径相关的内容,但我不知道该怎么做。

最佳答案

您可以在终端中使用以下命令查看您的 PYTHONPATH 中有哪些文件夹。

python -c "import sys, pprint; pprint.pprint(sys.path)"

我猜 /host/Python27/Lib/site-packages 不会在那里(这听起来不像是正常的 python 路径。你是如何安装这些包的?)。

如果要将文件夹添加到 PYTHONPATH,请使用以下命令:

export PYTHONPATH=$PYTHONPATH:/host/Python27/Lib/site-packages

我个人这里有一些使用 Python 进行开发的建议:

  1. 使用 virtualenv .它是一个非常强大的工具,可以创建沙盒 python 环境,因此您可以安装模块并将它们与主解释器分开。

  2. 使用 pip - 当你创建了一个 virtualenv 并激活它后,你可以使用 pip install 为你安装包。例如pip install numpy 会将 numpy 安装到您的虚拟环境中,并且只能从这个 virtualenv 访问。这意味着您还可以安装不同的版本进行测试等。非常强大。我建议使用 pip 来安装你的 python 包,而不是使用 ubuntu apt-get install 因为你更有可能获得更新版本的模块(apt-get 依赖于某人打包您的 python 库的最新版本,并且可能不像 pip 那样适用于那么多的库。

  3. 在编写您将使其可执行的 python 脚本时 (chmod +x my_python_script.py) 确保您输入 #!/usr/bin/env python在顶部,因为这将在您的虚拟环境中选择 python 解释器。如果您不这样做(并输入 #!/usr/bin/python),那么运行 ./my_python_script.py 将始终使用系统 python 解释器。

关于安装模块时出现 Python ImportError [Ubuntu],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083595/

相关文章:

Python:最近邻(或最接近匹配)过滤数据记录(元组列表)

python - 如何更改 python 'iplot' 中给定点的相应 X 轴标签

python - Pycharm (Ubuntu) 程序无法打开

linux - 如何使用 xulrunner 在当前窗口下方启动新窗口

android-studio - 如何离线安装Android Emulator(模拟器)SDK工具

linux - "make check"安装HDF5失败

python - 值错误: invalid literal for int() with base 10: 'skip'

python - 如何在 VS Code 中配置 python 大纲模式以仅显示类和方法

mysql - 如何最小化 mysqld 写入磁盘的字节数?

ubuntu - 使用 3G USB 调制解调器在 Ubuntu 下发送彩信