I have been trying to import "gdal" in PyCharm for a couple of hours now, but without success and I do not know any further now.
In the Anaconda Powershell I installed gdal:
conda install gdal,
and that seemed to work, I get "# All requested packages already installed". Also, when I hit conda list, gdal is listed as one of the packages (gdal 2.3.3).
Now, normally it works in PyCharm then. However, this time it does not. What I tried:
In PyCharm, I hovered over import gdal and tried to install the package, but without success.
In PyCharm, Settings -> Project Interpreter -> "+" -> tried to install the "GDAL" package there, but without success as well.
In PyCharm, Settings -> Project Interpreter -> "Show All" -> "Show paths for the selected interpreter" -> there I added the path to the "gdal-2.3.3-py37hdf43c64_0" directory ("C:...\AppData\Local\Continuum\anaconda3\pkgs"), but without success.
Any ideas? Thank you!
The best way to use conda anywhere would be to install a conda environment with the following commands followed by using the same environment in the pycharm.
Conda environment install commands:
conda create -n gdal python=3.7
activate gdal
conda install -c conda-forge gdal
Setting conda environment in the pycharm:
-> Go to Preferences / settings in pycharm
-> Search for `python interpreter`
-> Click on the drop down and then click on show all
-> Click on the + symbol to add the environment
-> Click on Conda environment in the left panel and select existing environment
-> Select the exact path of python3.7 (or other version) where the environment is installed (/opt/anaconda3/envs/gis/bin/python3.7 - in case of mac)
That should get the job done.
Related
I have a 2-part question about conda vs. pip virtual environments. I found great information on the answers What is the difference between pip and conda? and Does Conda replace the need for virtualenv? but still have something unclear.
I have a given python project (say PR) that I need to install and further develop on a linux server (say S) where python is installed with anaconda. Now, the usage/installation instructions of PR tell me to use python to create virtual environment and pip to install all packages. That is,
python3 -m venv PR
pip install --editable . (the dot included at the end)
According to "pip install --editable ./" vs "python setup.py develop" the latter reads the file setup.py (included in PR) which contains a function setup(...) with option install_requires listing all the required packages and installs them automatically. I have tested this on my own computer (which does not have conda) and it works fine. At least no error messages.
Now I need to further develop PR on S. My question Part 1: can I use conda instead of pip to create and update virtual environment? If yes, what would be the conda command replacing pip install --editable . ? I'm positive I will later need to install other packages as well. I'm worried about conflicts between conda/pip.
On S, I have Spyder and no other python IDEs. I have never used Spyder but I'm very familiar with PyCharm (Windows) and VS Code (Linux) so I assume debugging with Spyder will be similar to those. My question Part 2 (tied to Part 1): if I have to use pip to install packages, does Spyder see those? Or can it only see conda-installed packages?
(Edit/update): Thank you Carlos for comments. I continue my question:
I created and activated the virtual environment (VE) with conda
conda create PR_venv
conda activate PR_venv
Installed pip with
conda install pip
(this upgraded pip and installed several other packages too, including newer version of python). Installed PR and its required packages with pip
pip install -e .
Now, if I run the PR package inside this active VE interactively from the terminal, everything works fine. I would like to do the same from within spyder, to get the IDE debugging abilities in my hand.
When I start spyder, open a python file to be run, click "Run" button, it crashes in the import statements.
Spyder cannot see the installed packages. It can see only the local package PR but none of the packages installed by pip for this VE.
I am not sure what is the correct question here; I'm confused how are conda VEs related to spyder/jupyter/ipython ? I cannot find information in the conda documents about this.
I cannot find from spyder documents anything about VEs. Do I have to somehow re-install the packages (how?) inside Spyder? It seems pointless because the packages are installed already.
(Edit/Update 2): The information on https://docs.spyder-ide.org/current/installation.html makes me even more confused: Spyder is presented as both a stand-alone program and as a python package. So do I have to re-install Spyder inside the VE(?!) with
conda activate PR_venv
conda install spyder
Any clarification would be appreciated. I have always thought that the IDEs are stand-alone programs and that's it. This Spyder setup twists my brains into pretzel.
(Spyder maintainer here) About your questions:
can I use conda instead of pip to create and update virtual environment?
Yes, you can. Please see here to learn about the functionality offered by conda for managing environments.
If yes, what would be the conda command replacing pip install --editable . ?
Conda doesn't offer a good replacement for that command. However, you can still use it in a conda environment, as long as all you've installed all your package dependencies with conda before running it. That would avoid mixing conda and pip packages, which usually leads to really bad results.
if I have to use pip to install packages, does Spyder see those? Or can it only see conda-installed packages?
Spyder can work with pip and conda packages without problems. Just make sure of not mixing them (as I said above) and you'll be fine. In addition, please read our documentation to learn how to connect a local Spyder instance to a remote server.
Part 1: yes I can use conda to create VE and pip to install packages
conda create PR_venv
conda activate PR_venv
conda install pip
pip install --editable .
conda list
The last line shows which packages are installed by conda and which by pip (shown as pypi)
Part 2: spyder by default cannot see the packages. Need to do two things:
conda install spyder-kernels
Open Spyder and Tools > Preferences > Python Interpreter > Use the following interpreter > [full path to VE python command]
Restart Spyder. Now it can see the packages.
(Edit:) this link is great: https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder
I cannot install Spyder through Anaconda Navigator. I am a complete beginner when it comes to Python and I have no idea what's going wrong.
I have to create a new environment and open a project there.
What I did so far is: through Anaconda Navigator (1.9.7) I created a new environment (with Python 3.6). Then, for this specific environment I try to install Spyder. I click the 'install' button, a progress bar appears and then nothing happens.
I tried the same steps on friend's laptop and when I click install there, the progress bar also appears. When it's done the 'install' button changes to 'launch'. The only difference that I see between our computers is that I have Windows10 and he has a Macbook. I don't know whether this could be the problem somehow.
How can I install Spyder for a specific environment? What's going wrong with my installation in Anaconda Navigator?
Also, when I try to install Spyder through Anaconda Prompt (with Administrator privileges), I get the following error:
Preparing transaction: done
Verifying transaction: done
Executing transaction: failed
ERROR conda.core.link:_execute(568): An error occurred while installing package 'defaults::openssl-1.1.1b-he774522_1'.
PermissionError(13, 'Permission denied')
Attempting to roll back.
Rolling back transaction: done
[Errno 13] Permission denied: 'C:\\Users\\eweli\\Anaconda3\\envs\\HAABSA\\Library\\bin\\libssl-1_1-x64.dll'
I managed to solve this by going to the directory where the file libssl-1_1-x64.dll is located (in your case, C:\Users\eweli\Anaconda3\envs\HAABSA\Library\bin\). Then, I removed the file (by cutting and pasting it to the desktop, just to be safe) and ran the installation command again in an Anaconda prompt (with admin rights):
conda install -c anaconda spyder
After that, the installation went smoothly and a new version of libssl-1_1-x64.dll was created in the corresponding directory (thus I deleted the one I moved previously).
To install spyder, go to the command line and to the directory where you work. Activate your virtual environment by typing
conda activate environment_name
Then once that returns just type
conda install spyder
This should install spyder in your virtual environment.
I had the same issue today, and weirdly a lot of versions didn't work out for me. However, what worked was to go to anaconda prompt, activate the environment and then type
conda install -c conda-forge spyder
Go the directory of your environement in terminal and type :
conda install -c anaconda spyder
it worked well for me.
I downloaded Anaconda on a PC. I would like to use TensorFlow and Keras. I know I have to use Python 3.6 and TensorFlow 1.0.9 (because of my code).
After installing Anaconda, I open my Anaconda prompt (in admin) and I put these instructions to create a new env:
conda create --name deeplearningaz python=3.6 anaconda
activate deeplearningaz
conda install theano
conda install tensorflow
conda install keras
conda update --all
I don't have any errors, but a warning about updating Conda version, and a few debug messages.
After that, I try to check if I'm using the correct version of Python, so I type (still in Anaconda prompt) and import keras (to see if it's ok):
python
import keras
Everything works perfectly fine.
Then I type quit() and type spyder (to open the Spyder from the env in Python 3.6).
Spyder opens, and if I type anything (import pandas, numpy et read a csv), then it crashes... for no reason (and no error).
After that, still in the Anaconda prompt, I try again to open Spyder and I get an error:
I don't get the problem, I try again and again to uninstall and install anaconda (and checking if my file was really delete). I didn't find...
I check the print(sys.path) and it looks like it's ok (but I don't see the env).
Does anybody have any idea?
I put here the conda info in the env (before the crash).
I don't use Spyder, but based on this discussion about how they don't really support switching conda envs yet, it sounds like currently the correct way to get Spyder to use a Conda env is to launch Spyder from outside the env, and then change the Python interpreter (Tools > Preferences > Python Interpreter) to point to the python located inside the env you wish to use.
Or if you really don't care about space, simply install a new Spyder instance in the env (conda install -n deeplearningaz spyder), and then you should be able to launch within the env without issue.
I decided to I wanted to test the newest version of Python. I downloaded from source and performed an altinstall so python3.7 (full) in located in usr/local/lib and its executable is # usr/local/bin. I thought an easy way to go about getting modules installed would be to select this executable as my Project Interpreter in PyCharm and use its package manager to install pip and whatnot. However, when I select 3.7 executable as the: Virtualenv Environment it will not allow me to hit 'ok'. Instead a warning at the bottom left of the window says:
Environment location directory is not empty
So I tried selecting the executable as the System Interpreter and it works to an extent. It allows me to hit ok but in the package manager window there is a yellow bar at the bottom that says:
Python packaging tools not found. Install packaging tools
So if I click the link it attempts an install (requires sudo) and then instead of installing, a warning box pops up:
Failed to install Python packaging tools:
ModuleNotFoundError: No moudle named'_ctypes'
So, how do I get PyCharm to use 3.7 s/t I can install modules for it?
conda install scikit-image
I used this command in anaconda prompt to install this library but I am getting an error
I have set the environment variable as my jupyter notbook is working properly.
You need to open the anaconda prompt. Go to the Windows start icon, start typing "Anaconda", select "Anaconda prompt". A new command window opens. Now you can use conda from there.