我已经在两个不同的位置安装了 python。我打开了两个终端设置环境变量,以便每个终端找到不同的 python 安装:
TERM1$which python
/A/python
TERM2$which python
/B/python
Run Code Online (Sandbox Code Playgroud)
后来我Mako使用其中一种安装方式进行安装(我不记得是哪一种了)。我使用以下命令在本地安装了 mako:
python setup.py install --user
Run Code Online (Sandbox Code Playgroud)
我的理解是,该模块将转到以下给出的路径:
$python -c 'import site; print site.USER_SITE'
/home/.../.local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
如果我从任一终端/home运行上述命令,它会指向 my 中的同一位置。问题是,如果我运行:
python -c 'import mako'
Run Code Online (Sandbox Code Playgroud)
其中一个终端正常,但另一个终端出现错误:
ImportError: No module named mako
Run Code Online (Sandbox Code Playgroud)
最有可能的是,一个终端(env)与另一个终端的搜索路径不同。但不知道要检查什么!
在你的终端中尝试这个...
$ sudo updateb
$ 定位 mako
两者是不同的命令。
Locate 将为您提供 Mako 安装位置以及 python 版本的确切位置。
很可能必须仅为其中一个 python 版本安装它。
您必须为另一台安装它才能使其工作。您还可以尝试将 .bashrc 中的 python 别名更改为另一个别名,然后在更改后的 Python 版本中安装 Mako,然后尝试导入模块。
如何切换到不同的 python 版本:- http://linuxconfig.org/how-to-change-from-default-to-alternative-python-version-on-debian-linux