I know how to install packages in Anaconda using conda install
and also how to install packages that are on PyPi which is described in the manual.
But how can I permanently include packages/folders into the PYTHONPATH
of an Anaconda environment so that code that I am currently working on can be imported and is still available after a reboot?
My current approach is to use sys
:
import sys sys.path.append(r'/path/to/my/package')
which is not really convenient.
Any hints?
Thanks in advance!
To permanently include packages or folder into the PYTHONPATH of an Anaconda environment, activate the Conda environment and use [conda develop](https://docs.conda.io/projects/conda-build/en/latest/resources/commands/conda-develop.html) to add the path permanently to the PYTHONPATH of the Conda environment.
Making Anaconda Python Find Your Python Scripts - Modifying the PYTHONPATH. (The following information applies only to Anaconda installations. The basic idea applies to any python installation, but the precise ways of addressing the issue are different.)
Go to Environments tab just below the Home tab and from there we can check what all packages are installed and what is not. It is very easy to install any package through anaconda navigator, simply search the required package, select package and click on apply to install it.
The Anaconda distribution comes with packages that can be used on Windows, Linux, and MacOS. The individual edition includes popular package names like numpy , pandas , scipy , sklearn , tensorflow , pytorch , matplotlib , and more.
I found two answers to my question in the Anaconda forum:
1.) Put the modules into into site-packages, i.e. the directory $HOME/path/to/anaconda/lib/pythonX.X/site-packages
which is always on sys.path
. This should also work by creating a symbolic link.
2.) Add a .pth
file to the directory $HOME/path/to/anaconda/lib/pythonX.X/site-packages
. This can be named anything (it just must end with .pth
). A .pth
file is just a newline-separated listing of the full path-names of directories that will be added to your path on Python startup.
Alternatively, if you only want to link to a particular conda environment then add the .pth file to ~/anaconda3/envs/{NAME_OF_ENVIRONMENT}/lib/pythonX.X/site-packages/
Both work straightforward and I went for the second option as it is more flexible.
*** UPDATE:
3.) Use conda develop i. e. conda-develop /path/to/module/
to add the module which creates a .pth
file as described under option 2.).
4.) Create a setup.py in the folder of your package and install it using pip install -e /path/to/package
which is the cleanest option from my point of view because you can also see all installations using pip list
. Note that the option -e
allows to edit the package code. See here for more information.
Thanks anyway!
I'm able to include local modules using the following:
conda-develop /path/to/module/
I hope it helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With