Installation problem : python package

Hello all,

I am willing to try and use ovito’s python package for manipulating atoms collections, especially for the render possibilities with ovito. That’s why I tried to install ovito and import it but I get this “(un)famous” error :

image

I am using spyder (eg. anaconda). It looks like the “conda install -c https://conda.ovito.org -c conda-forge ovito=3” command in the conda shell worked, and because I tried to import ovito afterwards and got for the first time the error message above, I tried after a “pip install ovito” (which confirmed ovito’s package was installed), always restarting the computer in between. I still get this error message.

After wandering on ovito’s forum, I found some problems related to this one and it looked like Ovito’s developper A. Stukowski implemented the conda installation not so long ago and that it should now be working.

It looks a bit weird because ovito’s python package looks like it’s well installed, I can find it and all the init files in anaconda3/lib/site packages.

Best,
Thomas

Hi Thomas,

I think I need to try and reproduce this problem myself in order to figure out where this is coming from. As far as I can tell from the error message there seems to be some kind of conflict between Anaconda packages required by OVITO and existing packages installed in your Anaconda environment. I would guess that installing OVITO in a fresh, empty Anaconda environment works better (please try if you can). However, in any case we have to find a way to make OVITO work in an already populated environment, because you want to use it together with Spyder and other tools.

One compatibility problem can arise from the fact that there exist two slightly different versions of some Anaconda packages, for example the Qt package, which is needed by OVITO but also other tools with a GUI. One version is provided by the Anaconda main channel and another one by the conda-forge channel. Depending on the order in which you install packages in your Anaconda environment, you might end up with different versions of these packages. Perhaps there is a way in Anaconda to make sure that a specific package version gets installed alongside with OVITO, I need to check.

Please provide some more information about your environment. Are you using Linux, and did you install Anaconda+Spyder manually (from anaconda.com)?

-Alex

Hello Alex,

I am using windows.

First this week, I had my original Anaconda environment ; all the packages installed by default when installing Anaconda, plus pymatgen (no OVITO package). All was working, then I had to conduct some Windows update, that destroyed the wellbeing of my installation… So I uninstalled Anaconda and then reinstalled both Anaconda and pymatgen, it was working anew. Then I tried installing OVITO’s package and I directly got the message shown in my first post. Yesterday I thought maybe my work’s computer may have some incompatibility following Window’s update or something else, so I tried on my personal computer (also Windows) and I received the same error message, but in a “text box” instead of in the terminal.

To summarize, I haven’t installed many packages intentionally : Anaconda -> Pymatgen -> OVITO. And, of course, these install “intermediate” packages such as matplotlib, numpy, etc.

I don’t exactly see what you mean by “manually”, but yes I downloaded the 64 bit version of Anaconda from (https://www.anaconda.com/products/individual). It wasn’t “manual” in the way that the files were already decompressed and I just had to place the folder where I wanted, however it was the classic executable for a software’s installation. Then I started the installed Anaconda Prompt (Anaconda3), installed pymatgen, and OVITO. I can try installing OVITO first and see what happens.

If you want to reproduce, I guess you can just :

  1. Download Anaconda 64-Bit Graphical Installer (466 MB)
  2. Start the downloaded launcher
  3. Let the default installation’s path
  4. Start the Anaconda Prompt
  5. pip install pymatgen OR conda install --channel conda-forge pymatgen
  6. conda install -c https://conda.ovito.org -c conda-forge ovito=3
  7. in spyder’s terminal (or any python terminal I guess) : import ovito

Thank you for your quick answer and your help, and also congrats for OVITO standard rendering software, it is definitely an awesome tool. I am very much looking forward to being able to use python’s side of it :slight_smile:

Best,
Thomas

Thanks for providing some more details on the way you installed the Anaconda system and other packages. Yes, with “manual installation” I actually meant the regular Anaconda installer (in contrast to some system package manager of a Linux distribution, for example). I will do some installation tests under Windows myself now and see if I can reproduce the problem.

1 Like

Thomas,

So I far I was not able to reproduce the problem on my computer. Perhaps the reason is that I am doing all tests in newly created conda environments (in order to have a well-defined starting point and not modifying my base environment).

For comparison, could you please send me the output of the conda list command? This should tell me precisely which package versions are currently installed in your conda environment. I will then try rebuilding a similar environment on my computer. Thanks.

Here is for what you asked :

Name Version Build Channel

_ipyw_jlab_nb_ext_conf 0.1.0 py38_0
alabaster 0.7.12 py_0
anaconda 2020.07 py38_0
anaconda-client 1.7.2 py38_0
anaconda-navigator 1.9.12 py38_0
anaconda-project 0.8.4 py_0
argh 0.26.2 py38_0
asn1crypto 1.3.0 py38_0
astroid 2.4.2 py38_0
astropy 4.0.1.post1 py38he774522_1
atomicwrites 1.4.0 py_0
attrs 19.3.0 py_0
autopep8 1.5.3 py_0
babel 2.8.0 py_0
backcall 0.2.0 py_0
backports 1.0 py_2
backports.functools_lru_cache 1.6.1 py_0
backports.shutil_get_terminal_size 1.0.0 py38_2
backports.tempfile 1.0 py_1
backports.weakref 1.0.post1 py_1
bcrypt 3.1.7 py38he774522_1
beautifulsoup4 4.9.1 py38_0
bitarray 1.4.0 py38he774522_0
bkcharts 0.2 py38_0
blas 1.0 mkl
bleach 3.1.5 py_0
blosc 1.19.0 h7bd577a_0
bokeh 2.1.1 py38_0
boto 2.49.0 py38_0
bottleneck 1.3.2 py38h2a96729_1
brotlipy 0.7.0 py38he774522_1000
bzip2 1.0.8 he774522_0
ca-certificates 2020.6.24 0
certifi 2020.6.20 py38_0
cffi 1.14.0 py38h7a1dbc1_0
chardet 3.0.4 py38_1003
click 7.1.2 py_0
cloudpickle 1.5.0 py_0
clyent 1.2.2 py38_1
colorama 0.4.3 py_0
comtypes 1.1.7 py38_1001
conda 4.8.3 py38_0
conda-build 3.18.11 py38_1
conda-env 2.6.0 1
conda-package-handling 1.6.1 py38h62dcd97_0
conda-verify 3.4.2 py_1
console_shortcut 0.1.1 4
contextlib2 0.6.0.post1 py_0
cryptography 2.9.2 py38h7a1dbc1_0
curl 7.71.1 h2a8f88b_1
cycler 0.10.0 py38_0
cython 0.29.21 py38ha925a31_0
cytoolz 0.10.1 py38he774522_0
dask 2.20.0 py_0
dask-core 2.20.0 py_0
decorator 4.4.2 py_0
defusedxml 0.6.0 py_0
diff-match-patch 20200713 py_0
distributed 2.20.0 py38_0
docutils 0.16 py38_1
entrypoints 0.3 py38_0
et_xmlfile 1.0.1 py_1001
fastcache 1.1.0 py38he774522_0
filelock 3.0.12 py_0
flake8 3.8.3 py_0
flask 1.1.2 py_0
freetype 2.10.2 hd328e21_0
fsspec 0.7.4 py_0
future 0.18.2 py38_1
get_terminal_size 1.0.0 h38e98db_0
gevent 20.6.2 py38he774522_0
glob2 0.7 py_0
gmpy2 2.0.8 py38h7edee0f_3
greenlet 0.4.16 py38he774522_0
h5py 2.10.0 py38h5e291fa_0
hdf5 1.10.4 h7ebc959_0
heapdict 1.0.1 py_0
html5lib 1.1 py_0
icc_rt 2019.0.0 h0cc432a_1
icu 58.2 ha925a31_3
idna 2.10 py_0
imageio 2.9.0 py_0
imagesize 1.2.0 py_0
importlib-metadata 1.7.0 py38_0
importlib_metadata 1.7.0 0
intel-openmp 2020.1 216
intervaltree 3.0.2 py_1
ipykernel 5.3.2 py38h5ca1d4c_0
ipython 7.16.1 py38h5ca1d4c_0
ipython_genutils 0.2.0 py38_0
ipywidgets 7.5.1 py_0
isort 4.3.21 py38_0
itsdangerous 1.1.0 py_0
jdcal 1.4.1 py_0
jedi 0.17.1 py38_0
jinja2 2.11.2 py_0
joblib 0.16.0 py_0
jpeg 9b hb83a4c4_2
json5 0.9.5 py_0
jsonschema 3.2.0 py38_0
jupyter 1.0.0 py38_7
jupyter_client 6.1.6 py_0
jupyter_console 6.1.0 py_0
jupyter_core 4.6.3 py38_0
jupyterlab 2.1.5 py_0
jupyterlab_server 1.2.0 py_0
keyring 21.2.1 py38_0
kiwisolver 1.2.0 py38h74a9793_0
krb5 1.18.2 hc04afaa_0
lazy-object-proxy 1.4.3 py38he774522_0
libarchive 3.4.2 h5e25573_0
libcurl 7.71.1 h2a8f88b_1
libiconv 1.15 h1df5818_7
liblief 0.10.1 ha925a31_0
libllvm9 9.0.1 h21ff451_0
libpng 1.6.37 h2a8f88b_0
libsodium 1.0.18 h62dcd97_0
libspatialindex 1.9.3 h33f27b4_0
libssh2 1.9.0 h7a1dbc1_1
libtiff 4.1.0 h56a325e_1
libxml2 2.9.10 h464c3ec_1
libxslt 1.1.34 he774522_0
llvmlite 0.33.0 py38ha925a31_0
locket 0.2.0 py38_1
lxml 4.5.2 py38h1350720_0
lz4-c 1.9.2 h62dcd97_0
lzo 2.10 he774522_2
m2w64-gcc-libgfortran 5.3.0 6
m2w64-gcc-libs 5.3.0 7
m2w64-gcc-libs-core 5.3.0 7
m2w64-gmp 6.1.0 2
m2w64-libwinpthread-git 5.0.0.4634.697f757 2
markupsafe 1.1.1 py38he774522_0
matplotlib 3.2.2 0
matplotlib-base 3.2.2 py38h64f37c6_0
mccabe 0.6.1 py38_1
menuinst 1.4.16 py38he774522_1
mistune 0.8.4 py38he774522_1000
mkl 2020.1 216
mkl-service 2.3.0 py38hb782905_0
mkl_fft 1.1.0 py38h45dec08_0
mkl_random 1.1.1 py38h47e9c7a_0
mock 4.0.2 py_0
monty 4.0.2 pypi_0 pypi
more-itertools 8.4.0 py_0
mpc 1.1.0 h7edee0f_1
mpfr 4.0.2 h62dcd97_1
mpir 3.0.0 hec2e145_1
mpmath 1.1.0 py38_0
msgpack-python 1.0.0 py38h74a9793_1
msys2-conda-epoch 20160418 1
multipledispatch 0.6.0 py38_0
navigator-updater 0.2.1 py38_0
nbconvert 5.6.1 py38_0
nbformat 5.0.7 py_0
networkx 2.4 py_1
nltk 3.5 py_0
nose 1.3.7 py38_2
notebook 6.0.3 py38_0
numba 0.50.1 py38h47e9c7a_0
numexpr 2.7.1 py38h25d0782_0
numpy 1.18.5 py38h6530119_0
numpy-base 1.18.5 py38hc3f5095_0
numpydoc 1.1.0 py_0
olefile 0.46 py_0
openpyxl 3.0.4 py_0
openssl 1.1.1g he774522_0
ovito 3.3.1 pypi_0 pypi
packaging 20.4 py_0
palettable 3.3.0 pypi_0 pypi
pandas 1.0.5 py38h47e9c7a_0
pandoc 2.10 0
pandocfilters 1.4.2 py38_1
paramiko 2.7.1 py_0
parso 0.7.0 py_0
partd 1.1.0 py_0
path 13.1.0 py38_0
path.py 12.4.0 0
pathlib2 2.3.5 py38_0
pathtools 0.1.2 py_1
patsy 0.5.1 py38_0
pep8 1.7.1 py38_0
pexpect 4.8.0 py38_0
pickleshare 0.7.5 py38_1000
pillow 7.2.0 py38hcc1f983_0
pip 20.1.1 py38_1
pkginfo 1.5.0.1 py38_0
plotly 4.11.0 pypi_0 pypi
pluggy 0.13.1 py38_0
ply 3.11 py38_0
powershell_shortcut 0.0.1 3
prometheus_client 0.8.0 py_0
prompt-toolkit 3.0.5 py_0
prompt_toolkit 3.0.5 0
psutil 5.7.0 py38he774522_0
py 1.9.0 py_0
py-lief 0.10.1 py38ha925a31_0
pycodestyle 2.6.0 py_0
pycosat 0.6.3 py38he774522_0
pycparser 2.20 py_2
pycurl 7.43.0.5 py38h7a1dbc1_0
pydocstyle 5.0.2 py_0
pyflakes 2.2.0 py_0
pygments 2.6.1 py_0
pylint 2.5.3 py38_0
pymatgen 2020.10.9.1 pypi_0 pypi
pynacl 1.4.0 py38h62dcd97_1
pyodbc 4.0.30 py38ha925a31_0
pyopenssl 19.1.0 py_1
pyparsing 2.4.7 py_0
pyqt 5.9.2 py38ha925a31_4
pyreadline 2.1 py38_1
pyrsistent 0.16.0 py38he774522_0
pyside2 5.15.1 pypi_0 pypi
pysocks 1.7.1 py38_0
pytables 3.6.1 py38ha5be198_0
pytest 5.4.3 py38_0
python 3.8.3 he1778fa_2
python-dateutil 2.8.1 py_0
python-jsonrpc-server 0.3.4 py_1
python-language-server 0.34.1 py38_0
python-libarchive-c 2.9 py_0
pytz 2020.1 py_0
pywavelets 1.1.1 py38he774522_0
pywin32 227 py38he774522_1
pywin32-ctypes 0.2.0 py38_1000
pywinpty 0.5.7 py38_0
pyyaml 5.3.1 py38he774522_1
pyzmq 19.0.1 py38ha925a31_1
qdarkstyle 2.8.1 py_0
qt 5.9.7 vc14h73c81de_0
qtawesome 0.7.2 py_0
qtconsole 4.7.5 py_0
qtpy 1.9.0 py_0
regex 2020.6.8 py38he774522_0
requests 2.24.0 py_0
retrying 1.3.3 pypi_0 pypi
rope 0.17.0 py_0
rtree 0.9.4 py38h21ff451_1
ruamel-yaml 0.16.12 pypi_0 pypi
ruamel-yaml-clib 0.2.2 pypi_0 pypi
ruamel_yaml 0.15.87 py38he774522_1
scikit-image 0.16.2 py38h47e9c7a_0
scikit-learn 0.23.1 py38h25d0782_0
scipy 1.5.0 py38h9439919_0
seaborn 0.10.1 py_0
send2trash 1.5.0 py38_0
setuptools 49.2.0 py38_0
shiboken2 5.15.1 pypi_0 pypi
simplegeneric 0.8.1 py38_2
singledispatch 3.4.0.3 py38_0
sip 4.19.13 py38ha925a31_0
six 1.15.0 py_0
snappy 1.1.8 h33f27b4_0
snowballstemmer 2.0.0 py_0
sortedcollections 1.2.1 py_0
sortedcontainers 2.2.2 py_0
soupsieve 2.0.1 py_0
spglib 1.16.0 pypi_0 pypi
sphinx 3.1.2 py_0
sphinxcontrib 1.0 py38_1
sphinxcontrib-applehelp 1.0.2 py_0
sphinxcontrib-devhelp 1.0.2 py_0
sphinxcontrib-htmlhelp 1.0.3 py_0
sphinxcontrib-jsmath 1.0.1 py_0
sphinxcontrib-qthelp 1.0.3 py_0
sphinxcontrib-serializinghtml 1.1.4 py_0
sphinxcontrib-websupport 1.2.3 py_0
spyder 4.1.4 py38_0
spyder-kernels 1.9.2 py38_0
sqlalchemy 1.3.18 py38he774522_0
sqlite 3.32.3 h2a8f88b_0
statsmodels 0.11.1 py38he774522_0
sympy 1.6.1 py38_0
tabulate 0.8.7 pypi_0 pypi
tbb 2020.0 h74a9793_0
tblib 1.6.0 py_0
terminado 0.8.3 py38_0
testpath 0.4.4 py_0
threadpoolctl 2.1.0 pyh5ca1d4c_0
tk 8.6.10 he774522_0
toml 0.10.1 py_0
toolz 0.10.0 py_0
tornado 6.0.4 py38he774522_1
tqdm 4.47.0 py_0
traitlets 4.3.3 py38_0
typing_extensions 3.7.4.2 py_0
ujson 1.35 py38he774522_0
uncertainties 3.1.4 pypi_0 pypi
unicodecsv 0.14.1 py38_0
urllib3 1.25.9 py_0
vc 14.1 h0510ff6_4
vs2015_runtime 14.16.27012 hf0eaf9b_3
watchdog 0.10.3 py38_0
wcwidth 0.2.5 py_0
webencodings 0.5.1 py38_1
werkzeug 1.0.1 py_0
wheel 0.34.2 py38_0
widgetsnbextension 3.5.1 py38_0
win_inet_pton 1.1.0 py38_0
win_unicode_console 0.5 py38_0
wincertstore 0.2 py38_0
winpty 0.4.3 4
wrapt 1.11.2 py38he774522_0
xlrd 1.2.0 py_0
xlsxwriter 1.2.9 py_0
xlwings 0.19.5 py38_0
xlwt 1.3.0 py38_0
xmltodict 0.12.0 py_0
xz 5.2.5 h62dcd97_0
yaml 0.2.5 he774522_0
yapf 0.30.0 py_0
zeromq 4.3.2 ha925a31_2
zict 2.0.0 py_0
zipp 3.1.0 py_0
zlib 1.2.11 h62dcd97_4
zope 1.0 py38_1
zope.event 4.4 py38_0
zope.interface 4.7.1 py38he774522_0
zstd 1.4.5 ha9fde0e_0

Thanks.

I noticed in this list that you currently have not installed the regular conda package of OVITO 3.3.1. It says “ovito 3.3.1 pypi_0 pypi”, which suggests you have installed OVITO from the PyPI directory using the pip command. That version of the ovito Python package is incompatible with Anaconda though. It only works with the standard CPython interpreter from www.python.org.

Please try uninstalling the PyPI package using pip uninstall ovito PySide2 and then reinstalling it using conda install -c https://conda.ovito.org -c conda-forge ovito=3. This should also pull the correct version of the pyside2 and qt packages from the conda-forge channel, which are required by OVITO.

So I ran the two commands you recommended, and checked after uninstallation if ovito was effectively removed, which appeared so.

And then running conda install -c https://conda.ovito.org -c conda-forge ovito=3, I encountered several issues. It looks like there is a myriad of conflicts. I give you here only the first screen detailling some conflicts. There is a exhaustiv (huge) list of all the conflicts after this first screen that I don’t think I’ll put in this thread. I can send you a textfile per mail if you want to look to the detail.

Perhaps you could tell me how you installed it on your computer (windows environment) ? Did you just perform the anaconda installation with the above mentionned link and then used conda install -c https://conda.ovito.org -c conda-forge ovito=3 and were then able to import Ovito’s module ?

If you run into conflicts, I suggest you start from scratch, set up a new empty Anaconda environment using conda create and install the packages you need. For example, I am able to run the following command sequence without encountering any package conflicts:

$ conda create -y -n ovito_env
$ conda activate ovito_env
$ conda install -y spyder
$ conda install -y -c conda-forge pymatgen
$ conda install -y -c https://conda.ovito.org -c conda-forge ovito=3

This installs the Spyder IDE, pymatgen and OVITO all in the same conda environment.