我想从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开发的一些建议:
virtualenv
。这是一个非常强大的工具,可以创建沙盒化的python环境,因此您可以安装模块并将其与主解释器分开。 pip
-创建virtualenv
并激活它后,可以使用pip install
为您安装软件包。例如pip install numpy
将numpy安装到您的虚拟环境中,并且只能从此virtualenv进行访问。这意味着您还可以安装不同的版本以进行测试等。功能非常强大。我建议您使用pip
来安装python软件包,而不是使用ubuntu apt-get install
来安装python软件包,因为您更有可能获得较新版本的模块(apt-get
依赖于包装最新版python库的人,因此可能无法提供与pip
一样多的库)。 chmod +x my_python_script.py
)的python脚本时,请确保将#!/usr/bin/env python
放在顶部,因为这将在您的虚拟环境中使用python解释器。如果您不这样做(并输入#!/usr/bin/python
),那么运行./my_python_script.py
将始终使用系统python解释器。 关于安装模块时出现Python ImportError [Ubuntu],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17083595/