在ubuntu 16.04中我安装了python和modules:
sudo apt install python3 python3-scipy python3-numpy python3-ase
然后我尝试关注the first tutorial上的ASE homepage。我在python3
终端中运行bash
,可以导入其他模块,但不能导入ase-build
。它看起来像这样:
>>> from ase.optimize import QuasiNewton
>>> from ase.build import fcc111, add_adsorbate
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'ase.build'
>>>
使用python脚本会引发等效错误。 可能是什么问题呢?
更新&amp;解
似乎这甚至不是一个python问题。我似乎有一些包依赖性错误可能是因为程序安装之间很长时间没有运行apt update
。我删除了python2.x
和python 3.x
,然后重复apt update
,apt upgrade
,apt autoremove
,然后重新安装python3
。我安装了python3-pip
并使用正确的python3 -m pip install --upgrade <package>
形式安装了numpy,scipy和ase包。现在一切都按预期工作。
答案 0 :(得分:0)
检查您所拥有的库的版本。
import ase
print(ase.__version__)
如果版本为3.10.0
,那么这就是问题,因为build
版本中出现3.11.0
模块(据我所知)。
答案 1 :(得分:0)
由于this link - 您已在计算机上安装了3.9.1.4567-3版本。
但 asu.build 已添加到:
commit 71c9563e423e2add645c26f8d0a722f3db13e135
作者:JensJørgenMortensen
日期:2016年4月12日星期二15:40:59 +0200
将内容移至ase.build模块
因此,您的版本中不存在 asu.build 模块(2015年已发布3.9)。您必须安装较新版本的python3-asu。