diffpy / diffpy.pdfgui

graphical user interface for real space structure refinement to PDF
Other
18 stars 23 forks source link

Installation on Apple Silicon (M1/M2) #113

Open ZryletTC opened 1 month ago

ZryletTC commented 1 month ago

Sorry if this is something that you're already aware of/have addressed but I had issues following the installation guidelines today due to being on an Apple Silicon machine and couldn't find anything about it being previously reported.

Instead of the instructions listed on your website:

conda create --name=pdfgui2 python=3.9
conda activate pdfgui2
conda install -c conda-forge diffpy.pdfgui

I had to run CONDA_SUBDIR=osx-64 conda create -n pdfgui2 python=3.9 diffpy.pdfgui -c conda-forge

I was hoping a note could be added to the website for future users with Apple Silicon chips, or better yet, the package could be built for osx-arm64.

Joweke commented 3 days ago

This was a lifesaver for me – tried multiple ways always getting an error on the install line until a colleague pointed me to this. Thank you!

Joweke commented 3 days ago

spoke too soon. when i got into the program, trying to run a fit, plot a fit, or even trying to copy a result value returned this:

Traceback (most recent call last): File "/opt/anaconda3/envs/pdfgui2/lib/python3.9/site-packages/diffpy/pdfgui/gui/errorwrapper.py", line 62, in _f return func(*args, **kwargs) File "/opt/anaconda3/envs/pdfgui2/lib/python3.9/site-packages/diffpy/pdfgui/gui/mainframe.py", line 1636, in disableMainMenuItems if not cdata.Gcalc: File "/opt/anaconda3/envs/pdfgui2/lib/python3.9/site-packages/diffpy/pdfgui/control/fitdataset.py", line 666, in _get_Gcalc self._updateRcalcSampling() File "/opt/anaconda3/envs/pdfgui2/lib/python3.9/site-packages/diffpy/pdfgui/control/fitdataset.py", line 595, in _updateRcalcSampling newGcalc = grid_interpolation(self._rcalc, self._Gcalc, newrcalc) File "/opt/anaconda3/envs/pdfgui2/lib/python3.9/site-packages/diffpy/pdfgui/control/fitdataset.py", line 772, in grid_interpolation x0 = numpy.array(x0, copy=False, dtype=float) ValueError: Unable to avoid copy while creating an array as requested. If usingnp.array(obj, copy=False)replace it withnp.asarray(obj)to allow a copy when needed (no behavior change in NumPy 1.x). For more details, see https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword.