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

MPA*_*MPA 4 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路径相关的东西,但我不知道该怎么做.

Ewa*_*wan 10

您可以在终端中使用以下命令查看您的文件夹PYTHONPATH.

python -c "import sys, pprint; pprint.pprint(sys.path)"
Run Code Online (Sandbox Code Playgroud)

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

如果要向您添加文件夹,请PYTHONPATH使用以下内容:

export PYTHONPATH=$PYTHONPATH:/host/Python27/Lib/site-packages
Run Code Online (Sandbox Code Playgroud)

就个人而言,这里有一些用Python开发的建议:

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

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

  3. 在编写python脚本时,你将生成可执行文件(chmod +x my_python_script.py)确保你放在#!/usr/bin/env python顶部,因为这将在你的虚拟环境中获取python解释器.如果你没有(和put #!/usr/bin/python)那么运行./my_python_script.py将始终使用系统python解释器.