No module named pylab - python-3.x

I just upgraded to python3 on Fedora, and was trying to import pylab. But instead I got an error
ImportError: No module named 'pylab'
After some research I found some information about installing a package matplotlib-py3k to make it work. However, the link to the page is down! Maybe there is a yum install package I can use to simply install pylab to work with python3?
The package for python2.x is installed and working.

Try yum install python-matplotlib. If I am mistaken, then you can try from the source.
From the matplotlib website...
If you are on Fedora/RedHat, you can get all the dependencies required
to build matplotlib by first installing yum-builddep and then running:
su -c "yum-builddep python-matplotlib" This does not build matplotlib,
but it does get all of the build dependencies, which will make
building from source easier.
Then you can use git clone git#github.com:matplotlib/matplotlib.git to git matplotlib and then install with cd matplotlib and python setup.py install.

You need to install matplotlib for python3 by performing:
yum install python3-matplotlib

Related

Error installing psycopg2 on macOS with building wheel [duplicate]

I'm attempting to make a website with a few others for the first time, and have run into a weird error when trying to use Django/Python/VirtualEnv. I've found solutions to this problem for other operating systems, such as Ubuntu, but can't find any good solutions for Mac.
This is the relevant code being run:
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
After running that block, I get the following errors:
AssertionError
Failed building wheel for django-toolbelt
Running setup.py bdist_wheel for psycopg2
...
AssertionError
Failed building wheel for psycopg2
Failed to build django-toolbelt psycopg2
I believe I've installed the "django-toolbelt" and "psycopg2", so I'm not sure why it would be failing.
The only difference I can think of is that I did not use the command
sudo apt-get install libpq-dev
as was instructed for Ubuntu usage as I believe that installing postgresql with brew took care of the header.
Thanks for any help or insight!
For MacOS users
After trying all the above methods (which did not work for me on MacOS 10.14), that one worked :
Install openssl with brew install openssl if you don't have it already.
add openssl path to LIBRARY_PATH :
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
install psycopg2 with pip pip3 install psycopg2
I had the same problem on Arch linux. I think that it's not an OS dependant problem. Anyway, I fixed this by finding the outdated packages and updating then.
pip uninstall psycopg2
pip list --outdated
pip install --upgrade wheel
pip install --upgrade setuptools
pip install psycopg2
I was also getting same error.
Using Python 3.7.3 and pip 19.1.1.
I used following command.
pip install psycopg2-binary==2.8.3
TDLR
If you aren't used to installing Python C-extensions, and psycopg2 isn't a core part of your work, try
pip install psycopg2-binary
Building Locally
psycopg2 is a C-extension, so it requires compilation when being installed by pip. The Build Prerequisites section of the docs explain what must be done to make installation via pip possible. In summary (for psycopg 2.8.5):
a C compiler must be installed on the machine
the Python header files must be installed
the libpq header files must be installed
the pg_config program must be installed (it usually comes with the libpq headers) and on $PATH.
With these prerequisites satisfied, pip install psycopg2 ought to succeed.
Installing pre-compiled wheels
Alternatively, pip can install pre-compiled binaries so that compilation (and the associated setup) is not required. They can be installed like this:
pip install psycopg2-binary
The docs note that
The psycopg2-binary package is meant for beginners to start playing with Python and PostgreSQL without the need to meet the build requirements.
but I would suggest that psycopg2-binary is often good enough for local development work if you are not using psycopg2 directly, but just as a dependency.
Concluding advice
Read the informative installation documentation, not only to overcome installation issues but also to understand the impact of using the pre-compiled binaries in some scenarios.
I had same problem and this appears to be a Mojave Issue, I was able to resolve with:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
For Mac OS X users:
1. First check your postgresql path by running this command in terminal:
pg_config
If this fails lookup how to add pg_config to your path.
2. Next install Xcode Tools by running this command in terminal:
xcode-select --install
If you have both those sorted out now try to install psycopg2 again
For MacOS users, this question has the correct solution:
install command line tools if necessary:
xcode-select --install
then
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
I was also facing the same after running all the above commands, but the following two commands worked for me:
Instead of pip, use this:
sudo apt-get install libpq-dev
then run this command:
pip install psycopg2
On OS X, I was able to solve this by simply upgrading wheel before installing psycopg2:
pip install --upgrade wheel
For OSX Sierra users, it seems that an xcode update is the solution: Can't install psycopg2 package through pip install... Is this because of Sierra?
I tried all the above solutions but they did not work for me. What I did was change the psycopg2 version in my requirements.txt file from psycopg2==2.7.4 to psycopg2==2.7.6
Is your error message complete? the most encountered reason for failing to install psycopg2 on mac from pip is pg_config is not in path.
by the way, using macports or fink to install psycopg2 is more recommended way, so you don't have to worry about pg_config, libpq-dev and python-dev.
plus, are using Python 3.5? then upgrage your wheel to > 0.25.0 using pip.
I faced the same issue, but the answers above didn't work for me.
So this is what I did in my requirements.txt
psycopg2-binary==2.7.6.1 and it worked fine
I had this issue on several packages, including psycopg2, numpy, and pandas. I simply removed the version from the requirements.txt file, and it worked.
So instead of psycopg2-binary==2.7.6.1 I just had psycopg2-binary.
I know you are asking for development environment but if you are deploying on server say, Heroku. Just add below line in the requirements.txt of your project.
django-heroku==0.3.1
As this package itself will install the required packages like psycopg2 on server deployment.So let the server(heroku) should take care of it.
sudo apt install libpq-dev python3.X-dev
where X is the sub version,
these should be followed by :
pip install --upgrade wheel
pip install --upgrade setuptools
pip install psycopg2
Enjoy !!!
I solved my problem by updating/installing vs_BuildTools. The link to the software was given in the error itself.
Error Image
Fixed by installing python3.7-dev: sudo apt install python3.7-dev, based on the link.
Python: 3.7
Ubuntu: 20.04.3 LTS

Docker python unable to import module installed via apt-get

I'm trying to build a python app via docker, but it fails to import numpy even though I've installed the appropriate package via apt. As an example of the dockerfile reduced to only what's important here:
FROM python:3
RUN apt-get update \
&& apt-get install python3-numpy -y
RUN python3 -c "import numpy; print(numpy.__version__)"
Attempting to build that dockerfile results in the error ModuleNotFoundError: No module named 'numpy'.
I am able to get this working if I use pip to install numpy, but I was hoping to get it working with the apt-get package instead. Why isn't this working the way I would expect it to?
The problem is that you have two Pythons installed:
The image comes with python in /usr/local/bin.
When you install python3-numpy, that install python3 package from Debian, which ends up with /usr/bin/python.
When you run your code at the end you're likely using the version from /usr/local/bin, but NumPy was installed for the version in /usr/bin.
Solution: Install NumPy using pip, e.g. pip install numpy, instead of using apt.
Long version, with other ways you can get import errors: https://pythonspeed.com/articles/importerror-docker/
The problem is with python environments, not with docker. The apt-get installed numpy is not in the same environment as the python installation. Moreover, the dependencies should be stored in a requirements.txt file, which should then be installed through pip. python -m pip can be used to ensure that the pip command is in the same environment as the python installation.

I can't install basemap package

I tried to work with Basemap packages in Python 3.x but, when I try to install the packages in my IDE Pycharm, it gives me this error:
Could not find a version that satisfies the requirement Basemap (from versions: )
No matching distribution found for Basemap
You are using pip version 10.0.1, however version 19.0.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Anyone knows how can I do to install that packages correctly?
(Python 3.x, Pycharm, Windows 10)
You can read on their github that the package was deprecated and they recommended to use cartopy instead:
Source:
https://github.com/matplotlib/basemap
⚠️ Warning: this package is being deprecated in favour of cartopy.
I also ran into a similar problem and the above two solutions did not work for me.
And as you can see here https://github.com/jakevdp/PythonDataScienceHandbook/issues/72#issuecomment-301008464
It is no longer possible to install it via pip, rather try this:
conda install -c conda-forge basemap
You can try to install basemap using precompiled windows binaries.
Download the basemap whl file that is most applicable to you from
here.
Run pip install path_to_the_downloaded_whl on pycharm terminal.
You can install basemap library easily by conda. First of all, you must install conda, then you can create a virtual environment by conda create -n bm python=3.6 (you can use any word you like to replace bm) and activate it by conda activate bm . When command line starts with (bm), you can run conda install basemap to automatically install the library. After that, usually you can use basemap in your python code.
Good luck.

installing Mayavi with pip - no module named 'vtkOpenGLKitPython'

I am trying to install mayavi via pip on my ubuntu 16.04 via shell. I am using python 3.6 via anaconda and already installed vtk and all other requirements but i get the above error when i try pip3 install mayavi or pip2 install mayavi.
Mayavi is packaged for ubuntu packages.ubuntu.com/xenial/mayavi2.
I suggest that you install with the command
sudo apt-get install mayavi2
instead, this will take care of installing a version that matches the vtk install on your system.
Try to rename libvtkOpenGLKitPython*.so file.
In my case it was:
cd /opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/vtk
cp libvtkOpenGLKitPython36D-8.1.so libvtkOpenGLKitPython.so
and, maybe one more error with libxt6 file. Fix it:
apt install libxt6

Get mayavi working with Python 3

I'm having trouble running mayavi in python 3.3
When running my program with python3 (or python3.3) i get
from mayavi import mlab as ml
ImportError: No module named 'mayavi'
To get numpy and matplotlib to work, i used:
sudo apt-get install python3-"missing module"
But the usual way to install mayavi is just
sudo apt-get install mayavi2
And python3 doesn't find it....
Does anyone know a way to get mayavi to work with Python3?
Is it not supported yet?
I have tried both
import mayavi.mlab as ml
from mayavi import mlab as ml
Both give me the same error
Any clarification would be greatly appreciated :)
Mayavi can work with python 3 now. You will need VTK 7.0 or higher compiled for python 3 support. Then you can just install mayavi with pip. pip install mayavi
Installing vtk may prove somewhat difficult. You need to make sure to change the PYTHONPATH variable, and build vtk with tcl, tk, and python 3 support.
Today, Mayavi is not supported in python3.
http://www.vtk.org/Wiki/VTK/Python_Wrapping_FAQ
http://www.vtk.org/Wiki/VTK/Python_Wrapper_Enhancement#Python_3
See also this github issue:
https://github.com/enthought/mayavi/issues/84
I was able to get Mayavi2 to work with Python 3.6.4.
To set up Mayavi on ubuntu, do the following -
Install Anaconda/Miniconda distribution of python depending on your
needs(I used Miniconda 4.3.30). For more info look here
Run the following in terminal -
apt-get install -y libglib2.0-0 libxext6 libsm6 libxrender1 gtk3.0
conda install -y -c conda-forge qt vtk pyvtk pyside envisage mesalib mayavi
conda install -y -c ajsrk traitsui
Ideally , you wouldn't need the last line since traitsui will be installed as part of the dependencies in the previous step. However, I found an issue with this version of traitsui. So as a temporary fix, I have uploaded my version of traitsui into anaconda cloud; this can be used until the fix finds its way into the next release and is available in the conda-forge channel
To verify the installation start a terminal session and type 'mayavi2'
The best solution that I`ve found, is this. Even though, Mayavi will only work on Pyathon 3.5...
My solution is launching Spider from Anaconda 3 and then running the file mayavi2-script.py that can be found in the directory Anaconda/Scripts. It launches the 3D data visualizer as a pop-up window in Windows10.

Resources