Hey there,
I am trying to get started on fenics-dolfinx and after half a day was finally able to install it via conda.
However, when I try to run import dolfinx I get the following error.
>>> import dolfinx
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
import dolfinx
File "/home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/dolfinx/__init__.py", line 32, in <module>
from dolfinx import fem, geometry, graph, io, jit, la, log, mesh, nls, plot, utils
File "/home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/dolfinx/fem/__init__.py", line 18, in <module>
from dolfinx.fem.assemble import (
...<7 lines>...
)
File "/home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/dolfinx/fem/assemble.py", line 23, in <module>
from dolfinx.fem.forms import Form
File "/home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/dolfinx/fem/forms.py", line 23, in <module>
from dolfinx.fem.function import FunctionSpace
File "/home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/dolfinx/fem/function.py", line 29, in <module>
class Constant(ufl.Constant):
^^^^^^^^^^^^
AttributeError: module 'ufl' has no attribute 'Constant'
I am not really sure what to do about it.
I tried to look it up in the ufl API here and regarding that, it should be ufl.constant.Constant. So I was wondering whether this is a bug in dolfinx or am I messing up versions of ufl and dolfinx that are not intended to be used.
But for the latter I am a bit puzzled, since I did not specifically install ufl via pip or so, but it was just done, when I install dolfinx.
Any advices are appreciated.
Thanks
Vincent
dokken
November 12, 2024, 2:46pm
2
Vincent_Wieland:
I tried to look it up in the ufl API here and regarding that, it should be ufl.constant.Constant. So I was wondering whether this is a bug in dolfinx or am I messing up versions of ufl and dolfinx that are not intended to be used.
But for the latter I am a bit puzzled, since I did not specifically install ufl via pip or so, but it was just done, when I install dolfinx.
ufl.constant.Constant is also part of the ufl init file: ufl/ufl/__init__.py at main Ā· FEniCS/ufl Ā· GitHub
meaning that it gets imported when you call import ufl.
Could you check that there is no folder called ufl in your current directory?
Secondly, could you do a conda env export so that we can see what versions you have installed/
1 Like
I donāt see any ufl folder when searching for it.
The conda env export gives the following output
name: fenicsx-env
channels:
- conda-forge
- defaults
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_kmp_llvm
- aiohappyeyeballs=2.4.3=pyhd8ed1ab_0
- aiohttp=3.10.10=py313h8060acc_0
- aiosignal=1.3.1=pyhd8ed1ab_0
- alsa-lib=1.2.12=h4ab18f5_0
- aom=3.9.1=hac33072_0
- asttokens=2.4.1=pyhd8ed1ab_0
- attrs=24.2.0=pyh71513ae_0
- binutils_impl_linux-64=2.43=h4bf12b8_2
- binutils_linux-64=2.43=h4852527_2
- blosc=1.21.6=hef167b5_0
- brotli=1.1.0=hb9d3cd8_2
- brotli-bin=1.1.0=hb9d3cd8_2
- brotli-python=1.1.0=py313h46c70d0_2
- bzip2=1.0.8=h4bc722e_7
- c-ares=1.34.3=heb4867d_0
- c-blosc2=2.15.1=hc57e6cf_0
- ca-certificates=2024.8.30=hbcca054_0
- cairo=1.18.0=hebfffa5_3
- certifi=2024.8.30=pyhd8ed1ab_0
- cffi=1.17.1=py313hfab6e84_0
- charset-normalizer=3.4.0=pyhd8ed1ab_0
- comm=0.2.2=pyhd8ed1ab_0
- contourpy=1.3.0=py313h33d0bda_2
- cycler=0.12.1=pyhd8ed1ab_0
- dav1d=1.2.1=hd590300_0
- dbus=1.13.6=h5008d03_3
- debugpy=1.8.8=py313h46c70d0_0
- decorator=5.1.1=pyhd8ed1ab_0
- double-conversion=3.3.0=h59595ed_0
- eigen=3.4.0=h00ab1b0_0
- exceptiongroup=1.2.2=pyhd8ed1ab_0
- executing=2.1.0=pyhd8ed1ab_0
- expat=2.6.4=h5888daf_0
- fenics-basix=0.9.0=py313h867a91d_2
- fenics-basix-nanobind-abi=0.2.1.13=h6c05e69_2
- fenics-dolfinx=0.9.0=py313h29c2d7e_106
- fenics-ffcx=0.9.0=pyh2e48890_0
- fenics-libbasix=0.9.0=h7cb7ce6_2
- fenics-libdolfinx=0.9.0=h9e81c43_106
- fenics-ufcx=0.9.0=hb7f7608_0
- fenics-ufl=2024.2.0=pyhd8ed1ab_0
- ffmpeg=7.1.0=gpl_h8657690_700
- fftw=3.3.10=mpi_mpich_hbcf76dd_10
- fmt=11.0.2=h434a139_0
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=h77eed37_3
- fontconfig=2.15.0=h7e30c49_1
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.54.1=py313h8060acc_1
- freetype=2.12.1=h267a509_2
- fribidi=1.0.10=h36c2ea0_0
- frozenlist=1.5.0=py313h536fd9c_0
- gcc_impl_linux-64=13.3.0=hfea6d02_1
- gcc_linux-64=13.3.0=hc28eda2_5
- gl2ps=1.4.2=hae5d5c5_1
- glew=2.1.0=h9c3ff4c_2
- gmp=6.3.0=hac33072_2
- graphite2=1.3.13=h59595ed_1003
- h2=4.1.0=pyhd8ed1ab_0
- harfbuzz=9.0.0=hda332d3_1
- hdf4=4.2.15=h2a13503_7
- hdf5=1.14.4=mpi_mpich_h7f58efa_3
- hpack=4.0.0=pyh9f0ad1d_0
- hyperframe=6.0.1=pyhd8ed1ab_0
- hypre=2.32.0=mpi_mpich_h2e71eac_1
- icu=75.1=he02047a_0
- idna=3.10=pyhd8ed1ab_0
- importlib-metadata=8.5.0=pyha770c72_0
- ipykernel=6.29.5=pyh3099207_0
- ipython=8.29.0=pyh707e725_0
- jedi=0.19.2=pyhff2d567_0
- jsoncpp=1.9.6=h84d6215_0
- jupyter_client=8.6.3=pyhd8ed1ab_0
- jupyter_core=5.7.2=pyh31011fe_1
- kahip=3.16=h2fbc463_4
- kernel-headers_linux-64=3.10.0=he073ed8_18
- keyutils=1.6.1=h166bdaf_0
- kiwisolver=1.4.7=py313h33d0bda_0
- krb5=1.21.3=h659f571_0
- lame=3.100=h166bdaf_1003
- lcms2=2.16=hb7c19ff_0
- ld_impl_linux-64=2.43=h712a8e2_2
- lerc=4.0.0=h27087fc_0
- libabseil=20240722.0=cxx17_h5888daf_1
- libadios2=2.10.2=mpi_mpich_h4f42236_0
- libaec=1.1.3=h59595ed_0
- libass=0.17.3=h1dc1e6a_0
- libblas=3.9.0=25_linux64_openblas
- libboost=1.86.0=hb8260a3_2
- libboost-devel=1.86.0=h1a2810e_2
- libboost-headers=1.86.0=ha770c72_2
- libbrotlicommon=1.1.0=hb9d3cd8_2
- libbrotlidec=1.1.0=hb9d3cd8_2
- libbrotlienc=1.1.0=hb9d3cd8_2
- libcblas=3.9.0=25_linux64_openblas
- libclang-cpp19.1=19.1.3=default_hb5137d0_0
- libclang13=19.1.3=default_h9c6a7e4_0
- libcups=2.3.3=h4637d8d_4
- libcurl=8.10.1=hbbe4b11_0
- libdeflate=1.22=hb9d3cd8_0
- libdrm=2.4.123=hb9d3cd8_0
- libedit=3.1.20191231=he28a2e2_2
- libegl=1.7.0=ha4b6fd6_0
- libev=4.33=hd590300_2
- libexpat=2.6.4=h5888daf_0
- libffi=3.4.2=h7f98852_5
- libgcc=14.2.0=h77fa898_1
- libgcc-devel_linux-64=13.3.0=h84ea5a7_101
- libgcc-ng=14.2.0=h69a702a_1
- libgfortran=14.2.0=h69a702a_1
- libgfortran-ng=14.2.0=h69a702a_1
- libgfortran5=14.2.0=hd5240d6_1
- libgl=1.7.0=ha4b6fd6_0
- libglib=2.82.2=h2ff4ddf_0
- libglu=9.0.0=ha6d2627_1004
- libglvnd=1.7.0=ha4b6fd6_0
- libglx=1.7.0=ha4b6fd6_0
- libgomp=14.2.0=h77fa898_1
- libhwloc=2.11.2=default_h0d58e46_1001
- libiconv=1.17=hd590300_2
- libjpeg-turbo=3.0.0=hd590300_1
- liblapack=3.9.0=25_linux64_openblas
- libllvm19=19.1.3=ha7bfdaf_0
- libmpdec=4.0.0=h4bc722e_0
- libnetcdf=4.9.2=nompi_h2564987_115
- libnghttp2=1.64.0=h161d5f1_0
- libogg=1.3.5=h4ab18f5_0
- libopenblas=0.3.28=openmp_hd680484_1
- libopenvino=2024.4.0=hac27bb2_2
- libopenvino-auto-batch-plugin=2024.4.0=h4d9b6c2_2
- libopenvino-auto-plugin=2024.4.0=h4d9b6c2_2
- libopenvino-hetero-plugin=2024.4.0=h3f63f65_2
- libopenvino-intel-cpu-plugin=2024.4.0=hac27bb2_2
- libopenvino-intel-gpu-plugin=2024.4.0=hac27bb2_2
- libopenvino-intel-npu-plugin=2024.4.0=hac27bb2_2
- libopenvino-ir-frontend=2024.4.0=h3f63f65_2
- libopenvino-onnx-frontend=2024.4.0=h5c8f2c3_2
- libopenvino-paddle-frontend=2024.4.0=h5c8f2c3_2
- libopenvino-pytorch-frontend=2024.4.0=h5888daf_2
- libopenvino-tensorflow-frontend=2024.4.0=h6481b9d_2
- libopenvino-tensorflow-lite-frontend=2024.4.0=h5888daf_2
- libopus=1.3.1=h7f98852_1
- libpciaccess=0.18=hd590300_0
- libpng=1.6.44=hadc24fc_0
- libpq=16.4=h2d7952a_3
- libprotobuf=5.28.2=h5b01275_0
- libptscotch=7.0.5=h49f1bd8_2
- libsanitizer=13.3.0=heb74ff8_1
- libscotch=7.0.5=h2fc2182_2
- libsodium=1.0.20=h4ab18f5_0
- libsqlite=3.47.0=hadc24fc_1
- libssh2=1.11.0=h0841786_0
- libstdcxx=14.2.0=hc0a3c3a_1
- libstdcxx-ng=14.2.0=h4852527_1
- libtheora=1.1.1=h4ab18f5_1006
- libtiff=4.7.0=he137b08_1
- libuuid=2.38.1=h0b41bf4_0
- libva=2.22.0=h8a09558_1
- libvorbis=1.3.7=h9c3ff4c_0
- libvpx=1.14.1=hac33072_0
- libwebp-base=1.4.0=hd590300_0
- libxcb=1.16=hb9d3cd8_1
- libxkbcommon=1.7.0=h2c5496b_1
- libxml2=2.13.4=hb346dea_2
- libzip=1.11.2=h6991a6a_0
- libzlib=1.3.1=hb9d3cd8_2
- llvm-openmp=19.1.3=h024ca30_0
- loguru=0.7.2=py313h78bf25f_2
- lz4-c=1.9.4=hcb278e6_0
- matplotlib-base=3.9.2=py313h129903b_2
- matplotlib-inline=0.1.7=pyhd8ed1ab_0
- metis=5.1.0=hd0bcaf9_1007
- mpfr=4.2.1=h90cbb55_3
- mpi=1.0.1=mpich
- mpi4py=4.0.1=py313h7246b6a_0
- mpich=4.2.3=h670b19f_100
- msgpack-python=1.1.0=py313h33d0bda_0
- multidict=6.1.0=py313h8060acc_1
- mumps-include=5.7.3=ha770c72_5
- mumps-mpi=5.7.3=hb595572_5
- munkres=1.1.4=pyh9f0ad1d_0
- mysql-common=9.0.1=h266115a_2
- mysql-libs=9.0.1=he0572af_2
- ncurses=6.5=he02047a_1
- nest-asyncio=1.6.0=pyhd8ed1ab_0
- nlohmann_json=3.11.3=he02047a_1
- numpy=2.1.3=py313h4bf6692_0
- ocl-icd=2.3.2=hd590300_1
- openh264=2.4.1=h59595ed_0
- openjpeg=2.5.2=h488ebb8_0
- openssl=3.4.0=hb9d3cd8_0
- packaging=24.1=pyhd8ed1ab_0
- parmetis=4.0.3=hc7bef4e_1007
- parso=0.8.4=pyhd8ed1ab_0
- pcre2=10.44=hba22ea6_2
- petsc=3.22.1=real_hddfc770_101
- petsc4py=3.22.1=py313h159419d_0
- pexpect=4.9.0=pyhd8ed1ab_0
- pickleshare=0.7.5=py_1003
- pillow=10.4.0=py313hc9074d1_1
- pip=24.3.1=pyh145f28c_0
- pixman=0.43.2=h59595ed_0
- pkg-config=0.29.2=h4bc722e_1009
- platformdirs=4.3.6=pyhd8ed1ab_0
- pooch=1.8.2=pyhd8ed1ab_0
- proj=9.5.0=h12925eb_0
- prompt-toolkit=3.0.48=pyha770c72_0
- propcache=0.2.0=py313h536fd9c_2
- psutil=6.1.0=py313h536fd9c_0
- pthread-stubs=0.4=hb9d3cd8_1002
- ptyprocess=0.7.0=pyhd3deb0d_0
- pugixml=1.14=h59595ed_0
- pure_eval=0.2.3=pyhd8ed1ab_0
- pycparser=2.22=pyhd8ed1ab_0
- pygments=2.18.0=pyhd8ed1ab_0
- pyparsing=3.2.0=pyhd8ed1ab_1
- pysocks=1.7.1=pyha2e5f31_6
- python=3.13.0=h9ebbce0_100_cp313
- python-dateutil=2.9.0=pyhd8ed1ab_0
- python_abi=3.13=5_cp313
- pyvista=0.44.1=pyhd8ed1ab_0
- pyzmq=26.2.0=py313h8e95178_3
- qhull=2020.2=h434a139_5
- qt6-main=6.7.2=hadfd74e_5
- readline=8.2=h8228510_1
- requests=2.32.3=pyhd8ed1ab_0
- scalapack=2.2.0=h7e29ba8_4
- scooby=0.10.0=pyhd8ed1ab_0
- setuptools=75.3.0=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- slepc=3.22.1=real_h754b140_302
- slepc4py=3.22.1=py313h01fd916_1
- snappy=1.2.1=ha2e4443_0
- spdlog=1.14.1=hed91bc2_1
- sqlite=3.47.0=h9eae976_1
- stack_data=0.6.2=pyhd8ed1ab_0
- suitesparse=7.8.3=hb42a789_0
- superlu=5.2.2=h00795ac_0
- superlu_dist=9.1.0=h0804ebd_0
- svt-av1=2.2.1=h5888daf_0
- sysroot_linux-64=2.17=h4a8ded7_18
- tbb=2022.0.0=hceb3a55_0
- tbb-devel=2022.0.0=h1f99690_0
- tk=8.6.13=noxft_h4845f30_101
- tornado=6.4.1=py313h536fd9c_1
- traitlets=5.14.3=pyhd8ed1ab_0
- typing-extensions=4.12.2=hd8ed1ab_0
- typing_extensions=4.12.2=pyha770c72_0
- tzdata=2024b=hc8b5060_0
- urllib3=2.2.3=pyhd8ed1ab_0
- utfcpp=4.0.6=h005c6e1_0
- vtk=9.3.1=qt_py313h3d4e8c9_209
- vtk-base=9.3.1=qt_py313hcd96e40_209
- vtk-io-ffmpeg=9.3.1=qt_py313he1e5eab_209
- wayland=1.23.1=h3e06ad9_0
- wayland-protocols=1.37=hd8ed1ab_0
- wcwidth=0.2.13=pyhd8ed1ab_0
- wslink=2.2.1=pyhd8ed1ab_0
- x264=1!164.3095=h166bdaf_2
- x265=3.5=h924138e_3
- xcb-util=0.4.1=hb711507_2
- xcb-util-cursor=0.1.5=hb9d3cd8_0
- xcb-util-image=0.4.0=hb711507_2
- xcb-util-keysyms=0.4.1=hb711507_0
- xcb-util-renderutil=0.3.10=hb711507_0
- xcb-util-wm=0.4.2=hb711507_0
- xkeyboard-config=2.42=h4ab18f5_0
- xorg-fixesproto=5.0=hb9d3cd8_1003
- xorg-inputproto=2.3.2=hb9d3cd8_1003
- xorg-kbproto=1.0.7=hb9d3cd8_1003
- xorg-libice=1.1.1=hb9d3cd8_1
- xorg-libsm=1.2.4=he73a12e_1
- xorg-libx11=1.8.9=hb711507_1
- xorg-libxau=1.0.11=hb9d3cd8_1
- xorg-libxdmcp=1.1.5=hb9d3cd8_0
- xorg-libxext=1.3.4=h0b41bf4_2
- xorg-libxfixes=5.0.3=h7f98852_1004
- xorg-libxi=1.7.10=h4bc722e_1
- xorg-libxrender=0.9.11=hd590300_0
- xorg-libxt=1.3.0=hd590300_1
- xorg-libxtst=1.2.5=h4bc722e_0
- xorg-libxxf86vm=1.1.5=hb9d3cd8_2
- xorg-recordproto=1.14.2=hb9d3cd8_1003
- xorg-renderproto=0.11.1=hb9d3cd8_1003
- xorg-xextproto=7.3.0=hb9d3cd8_1004
- xorg-xproto=7.0.31=hb9d3cd8_1008
- xz=5.2.6=h166bdaf_0
- yaml=0.2.5=h7f98852_2
- yarl=1.16.0=py313h536fd9c_0
- zeromq=4.3.5=h3b0a872_6
- zfp=0.5.5=h9c3ff4c_8
- zipp=3.21.0=pyhd8ed1ab_0
- zlib=1.3.1=hb9d3cd8_2
- zlib-ng=2.2.2=h5888daf_0
- zstandard=0.23.0=py313h80202fe_1
- zstd=1.5.6=ha6fb4c9_0
- pip:
- h5py==3.12.1
- tqdm==4.67.0
prefix: /home/vincent/anaconda3/envs/fenicsx-env
dokken
November 12, 2024, 2:58pm
4
What happens if you run python3 -c "import ufl; print(ufl); ufl.Constant"?
Get the same error,
<module 'ufl' (namespace) from ['/home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/ufl']>
Traceback (most recent call last):
File "<string>", line 1, in <module>
import ufl; print(ufl); ufl.Constant
^^^^^^^^^^^^
AttributeError: module 'ufl' has no attribute 'Constant'
dokken
November 12, 2024, 3:03pm
6
I can reproduce this with python3.13:
name: test_dx_13
channels:
- conda-forge
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- binutils_impl_linux-64=2.43=h4bf12b8_2
- binutils_linux-64=2.43=h4852527_2
- blis=0.9.0=h4ab18f5_2
- bzip2=1.0.8=h4bc722e_7
- c-ares=1.34.3=heb4867d_0
- c-blosc2=2.15.1=hc57e6cf_0
- ca-certificates=2024.8.30=hbcca054_0
- cffi=1.17.1=py313hfab6e84_0
- fenics-basix=0.9.0=py313h867a91d_2
- fenics-basix-nanobind-abi=0.2.1.13=h6c05e69_2
- fenics-dolfinx=0.9.0=py313h29c2d7e_106
- fenics-ffcx=0.9.0=pyh2e48890_0
- fenics-libbasix=0.9.0=h7cb7ce6_2
- fenics-libdolfinx=0.9.0=h9e81c43_106
- fenics-ufcx=0.9.0=hb7f7608_0
- fenics-ufl=2024.2.0=pyhd8ed1ab_0
- fftw=3.3.10=mpi_mpich_hbcf76dd_10
- fmt=11.0.2=h434a139_0
- gcc_impl_linux-64=13.3.0=hfea6d02_1
- gcc_linux-64=13.3.0=hc28eda2_5
- gmp=6.3.0=hac33072_2
- hdf5=1.14.4=mpi_mpich_h7f58efa_3
- hypre=2.32.0=mpi_mpich_h2e71eac_1
- icu=75.1=he02047a_0
- kahip=3.16=h2fbc463_4
- kernel-headers_linux-64=3.10.0=he073ed8_18
- keyutils=1.6.1=h166bdaf_0
- krb5=1.21.3=h659f571_0
- ld_impl_linux-64=2.43=h712a8e2_2
- libadios2=2.10.2=mpi_mpich_h4f42236_0
- libaec=1.1.3=h59595ed_0
- libblas=3.9.0=25_linux64_blis
- libboost=1.86.0=hb8260a3_2
- libboost-devel=1.86.0=h1a2810e_2
- libboost-headers=1.86.0=ha770c72_2
- libcblas=3.9.0=25_linux64_blis
- libcurl=8.10.1=hbbe4b11_0
- libedit=3.1.20191231=he28a2e2_2
- libev=4.33=hd590300_2
- libexpat=2.6.4=h5888daf_0
- libffi=3.4.2=h7f98852_5
- libgcc=14.2.0=h77fa898_1
- libgcc-devel_linux-64=13.3.0=h84ea5a7_101
- libgcc-ng=14.2.0=h69a702a_1
- libgfortran=14.2.0=h69a702a_1
- libgfortran-ng=14.2.0=h69a702a_1
- libgfortran5=14.2.0=hd5240d6_1
- libgomp=14.2.0=h77fa898_1
- libhwloc=2.11.2=default_h0d58e46_1001
- libiconv=1.17=hd590300_2
- liblapack=3.9.0=8_h3b12eaf_netlib
- libmpdec=4.0.0=h4bc722e_0
- libnghttp2=1.64.0=h161d5f1_0
- libpng=1.6.44=hadc24fc_0
- libptscotch=7.0.5=h49f1bd8_2
- libsanitizer=13.3.0=heb74ff8_1
- libscotch=7.0.5=h2fc2182_2
- libsodium=1.0.20=h4ab18f5_0
- libsqlite=3.47.0=hadc24fc_1
- libssh2=1.11.0=h0841786_0
- libstdcxx=14.2.0=hc0a3c3a_1
- libstdcxx-ng=14.2.0=h4852527_1
- libuuid=2.38.1=h0b41bf4_0
- libxml2=2.13.4=hb346dea_2
- libzlib=1.3.1=hb9d3cd8_2
- lz4-c=1.9.4=hcb278e6_0
- metis=5.1.0=hd0bcaf9_1007
- mpfr=4.2.1=h90cbb55_3
- mpi=1.0.1=mpich
- mpi4py=4.0.1=py313h7246b6a_0
- mpich=4.2.3=h670b19f_100
- mumps-include=5.7.3=ha770c72_5
- mumps-mpi=5.7.3=hb595572_5
- ncurses=6.5=he02047a_1
- numpy=2.1.3=py313h4bf6692_0
- openssl=3.4.0=hb9d3cd8_0
- parmetis=4.0.3=hc7bef4e_1007
- petsc=3.22.1=real_hddfc770_101
- petsc4py=3.22.1=py313h159419d_0
- pip=24.3.1=pyh145f28c_0
- pkg-config=0.29.2=h4bc722e_1009
- pugixml=1.14=h59595ed_0
- pycparser=2.22=pyhd8ed1ab_0
- python=3.13.0=h9ebbce0_100_cp313
- python_abi=3.13=5_cp313
- readline=8.2=h8228510_1
- scalapack=2.2.0=h7e29ba8_4
- setuptools=75.3.0=pyhd8ed1ab_0
- slepc=3.22.1=real_h754b140_302
- slepc4py=3.22.1=py313h01fd916_1
- spdlog=1.14.1=hed91bc2_1
- suitesparse=7.8.3=hb42a789_0
- superlu=5.2.2=h00795ac_0
- superlu_dist=9.1.0=h0804ebd_0
- sysroot_linux-64=2.17=h4a8ded7_18
- tbb=2022.0.0=hceb3a55_0
- tk=8.6.13=noxft_h4845f30_101
- tzdata=2024b=hc8b5060_0
- xz=5.2.6=h166bdaf_0
- yaml=0.2.5=h7f98852_2
- zeromq=4.3.5=h3b0a872_6
- zfp=0.5.5=h9c3ff4c_8
- zlib=1.3.1=hb9d3cd8_2
- zlib-ng=2.2.2=h5888daf_0
- zstd=1.5.6=ha6fb4c9_0
prefix: /home/dokken/src/mambaforge/envs/test_dx_13
dokken
November 12, 2024, 3:07pm
7
For now you could try using python3.12, as it works for me (when testing with conda locally).
Is there a way to downgrade python without making a new conda environment (not really used conda before).
dokken
November 12, 2024, 3:19pm
9
I donāt think so.
It should be very hard to create a new env.
conda deactivate
conda env remove -n fenicsx-env
conda create -n fenicsx-env python=3.12 fenics-dolfinx
conda activate fenicsx-env
I guess additionally one wants to specify the channel to be conda-forge right?
But this then seems to work.
Thanks!
dokken
November 12, 2024, 3:36pm
11
Yes, depending on your conda installation you would have to specify -c conda-forge.
Thanks.
Not related to the installation issue, but to ufl.
After having it installed, I tried to build a FiniteElement, similar to the manual .
But for the code
import ufl
from ulf import *
element = FiniteElement("Lagrange", interval, 3)
I get the error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'FiniteElement' is not defined
If I try to call the FiniteElement class directly,
ufl.finiteelement.FiniteElement("Lagrange", interval, 3)
It say I am missing some arguments, which I don`t know yet how to construct.
What is the explanation for this behaviour?
dokken
November 12, 2024, 3:52pm
13
This is the manual for the āoldā ufl, that is compatible with legacy DOLFIN. For an introduction to DOLFINx, I would suggest starting with:
FEniCS workshop ā FEniCS Workshop ,
The FEniCSx tutorial ā FEniCSx tutorial ,
or Demos ā DOLFINx 0.9.0 documentation
Ahh, thanks a lot.
I will work through the tutorials you pointed at.
minrk
November 12, 2024, 4:44pm
15
I tried this env in docker run --rm -it --platform linux/amd64 condaforge/miniforge3 image and it works fine:
python3 -c "import ufl; print(ufl); ufl.Constant"
<module 'ufl' from '/opt/conda/envs/test-env/lib/python3.13/site-packages/ufl/__init__.py'>
conda env export is identical.
The namespace package output suggests that site-packages/ufl/__init__.py got deleted somehow, which is weird because itās in the package .
Can you share:
conda info
ls -l /home/vincent/anaconda3/pkgs/fenics-ufl-2024.2.0-pyhd8ed1ab_0/site-packages/ufl (aka $CONDA_ROOT/pkgs/ā¦)
ls -l /home/vincent/anaconda3/envs/fenicsx-env/lib/python3.13/site-packages/ufl (aka $CONDA_PREFIX/lib/ā¦)
It seems like your local install of the fenics-ufl package got corrupted somehow. Perhaps reinstalling it would fix it as well:
conda install --force-reinstall fenics-ufl
Thanks for your answer.
I followed the suggestion above and already removed the old conda environment.
Since I am anyhow not forced to use python 3.13, it works fine for me now with python 3.12.
dokken
November 13, 2024, 10:25am
17
I tried re-installing it today with Python 3.13 and it now runs with no issue.
A glitch in the matrix?
minrk
November 13, 2024, 12:26pm
18
very weird that you both managed to see this at the same time in the same Python version. It does point to a possible bug in conda or mamba noarch package installation, but if itās working now and everything is up to date, letās hope it was a transient problem thatās been solved .
Hi, I need to implement periodic boundary conditions and would like to install dolfinx_mpc in a conda environment. Unfortunately, Iām on Python 3.13.5 and it seems dolfinx_mpc isnāt available for this version. Is there a way to proceed without downgrading Python?
dokken
September 22, 2025, 6:19pm
20
How exactly have you installed DOLFINx_mpc?
There should be 3.13 builds on conda forge: Files | Anaconda.org