Another possibility, is that if you create the wheel first with "setup.py bdist_wheel", then "chimerax -m pip install --user NAME.whl" will install it in your personal extensions to ChimeraX.
-- Greg
Hi Barry,The problem is that ChimeraX is installed as root on Linux and that a simple “setup.py install” tries to install into the app, which it does not have permission for. You need to get it to install into a user-owned area that ChimeraX looks at for modules. That directory is contained in chimerax.app_dirs.user_data_dir. You get setup.py to install there with “setup.py install —home=value-from-app_dirs”.
—Eric
On Aug 17, 2023, at 1:18 PM, BARRY E DEZONIA via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Thanks for the help Eric.
I am pretty close to everything working but I think this traj2nmr install approach might be a dead end.
In my chimerax tool I have this at the beginning:
if importlib.util.find_spec('traj2nmr') is None:app_dir = pathlib.Path(__file__).parent.resolve()
subprocess.run(["python3", app_dir / 'Installable' / 'install_traj2nmr.py', sys.executable])
Then in my install_traj2nmr.py file that gets called by the above code I have this:
this_files_dir = pathlib.Path(__file__).parent.resolve()
chimerax = sys.argv[1]
os.system(f"cd {this_files_dir}/traj2nmr; {chimerax} --nogui --script 'setup.py install' --exit")
And it ALMOST works. Unfortunately it seems that I might need sudo access to run that command. This is the info Chimera gives back when it tries to run my code:
/usr/lib/ucsf-chimerax-daily/lib/python3.9/site-packages/setuptools/__init__.py:85: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`.dist.fetch_build_eggs(dist.setup_requires)running install/usr/lib/ucsf-chimerax-daily/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.warnings.warn(/usr/lib/ucsf-chimerax-daily/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.warnings.warn(error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in theinstallation directory:[Errno 13] Permission denied: '/usr/lib/ucsf-chimerax-daily/lib/python3.9/site-packages/test-easy-install-134656.write-test'
There is a paragraph of explanation saying maybe I need root access. So, am I at a dead end? Or can you think of a workaround? Thanks for any insight.
From: Eric Pettersen <pett@cgl.ucsf.edu>
Sent: Tuesday, August 15, 2023 6:18 PM
To: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>
Cc: BARRY E DEZONIA <barry.dezonia@wisc.edu>
Subject: Re: [chimerax-users] Plugin development questions_______________________________________________
On Aug 15, 2023, at 4:11 PM, Eric Pettersen via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
the traj2nmrexecutablemodule is importable
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
_______________________________________________ ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/