Trouble getting Virtualenv to Import Numpy - python-2.7

I am having trouble with all libraries, but let me focus on numpy. If I am outside a virtualenv, I can go into the Python interpreter and do:
import numpy
and that works. But if I got into a virtualenv and try it:
$ workon test
(test):~/Project/test$ python
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named numpy
After hours of Googling I believe the problem must be in my understanding of virtualenv and virtualenvwrapper. I have tried the obvious:
(test):~/Projects/test$ pip install numpy
but I got the error:
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.
I also tried doing sudo apt-get install python-dev but got the errors:
The following packages have unmet dependencies:
python-dev : Depends: python2.7-dev (>= 2.7.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
I am running Python2.7.3 on Ubuntu 12.04 and have PyDev (no virtualenv) running with a project that currently imports libraries (like numpy) with no trouble. I have tried using the Ubuntu Software Center to install python-dev, but I get the same errors.

virtualenv by default doesn't let you import packages from the global environment. Use [mk]virtualenv --system-site-packages to allow it to import system packages.
python-dev is a system package, so the pip error is expected. Not sure about the apt error, but you could ask on askubuntu.com to try to resolve it.

Related

Installing NumPy + SciPy in Python 2.7 now fails with "RuntimeError: Python version >= 3.5 required"

Installing numpy and scipy from source like this (say, in a fresh Python 2.7 pyenv virtualenv):
pip install numpy==1.14.6 scipy==1.0.1 --no-binary numpy,scipy
gets their installers to use a ~/.numpy-site.cfg file that points to my openblas installation.
This used to work. Now it produces a long stack trace ending with:
File "/usr/local/var/pyenv/versions/2.7.16/envs/issue/lib/python2.7/site-packages/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/var/folders/_b/q30qg_l50b5gvqd8y4_wb9h00000gn/T/easy_install-o9MJ5E/numpy-1.17.1/setup.py", line 31, in <module>
if sys.version_info[0] < 3:
RuntimeError: Python version >= 3.5 required.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Q. What changed?
Q. Why does it say Python version >= 3.5 required. in a Python 2.7 installation?
Q. How to fix it?
The scipy 1.0.1 installer requires numpy as a prerequisite, but the multiple installers working together end up getting the latest version of numpy unless numpy is already present.
What changed: The latest version of numpy requires Python 3.5+, hence the error message.
So even though the pip command explicitly asked to install numpy==1.14.6 scipy==1.0.1, it triggers a newer numpy installer that fails on Python 2. (The last entry in the stack trace shows numpy-1.17.1 requiring Python 3.)
The problem arises in the interaction between pip, the scipy and numpy installers, and easy_install. Details in pip issue #6945.
Workaround: Install numpy first. Then install scipy. Alternatively, the one-line install might work if you don't need the --no-binary option.
I also encountered an issue where scipy was been installed through a script and it was trying to install a version 1.7.1 which required python 3.7 at least and i hand 3.6. The workaround was i installed scipy myself and the version i got was 1.5.4.

AttributeError: 'numpy.ufunc' object has no attribute '__module__'

I have installed skimage using 'pip install scikit-image' inside a conda environment.
I am using python 2.7.
When I try importing :
from skimage import transform
It gives me the error:
AttributeError: 'numpy.ufunc' object has no attribute 'module'
Can someone please help me out?
Seems like you have mismatched version of scikit-image and numpy because of the recent updates in each of it's respective library. The correct version that I found works compatible with each other is 0.14.1 for scikit-image and 1.15.4 for numpy.
Install these specific version of libraries by executing these commands:
pip uninstall scikit-image
pip uninstall numpy
pip install scikit-image==0.14.1
pip install numpy==1.15.4
Now importing these libraries should work and produce no error.

Issues installing OpenCV 3.2.0 (Windows)

So I was trying to follow the steps from the link below
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_setup/py_setup_in_windows/py_setup_in_windows.html#install-opencv-python-in-windows
Below Python packages are to be downloaded and installed to their default locations.
1.1. Python-2.7.x.
1.2. Numpy.
1.3. Matplotlib (Matplotlib is optional, but recommended since we use it a lot in our tutorials).
Install all packages into their default locations. Python will be installed to C:/Python27/.
After installation, open Python IDLE. Enter import numpy and make sure Numpy is working fine.
Download latest OpenCV release from sourceforge site and double-click to extract it.
Goto opencv/build/python/2.7 folder.
Copy cv2.pyd to C:/Python27/lib/site-packages.
Open Python IDLE and type following codes in Python terminal.
import cv2
print cv2.version
If the results are printed out without any errors, congratulations !!! You have installed OpenCV-Python successfully.
When I try to type "import cv2" I get this error:
RuntimeError: module compiled against API version 0xa but this version of numpy is 0x7
Traceback (most recent call last):
File "", line 1, in
import cv2
ImportError: numpy.core.multiarray failed to import
What could this be?
I ended up solving my own problem using pip-installer. The link is at the bottom. What ended up happening was I was trying to install Numpy 1.8, when I should have let pip-installer "update" to the actual correct version necessary.
https://github.com/BurntSushi/nfldb/wiki/Python-&-pip-Windows-installation
along with the command I used:
pip install --upgrade numpy
This will allow for the correct version of Numpy to be installed.
Read the error information carefully, the opencv base on version 0xa compiled, but the found numpy version is 0x7.
When I try to type "import cv2" I get this error: RuntimeError: module compiled against API version 0xa but this version of numpy is 0x7
You may need upgrade the numpy module to the latest version.
pip install numpy --upgrade
it worked for me too.Thanks..just giving further illustaration.
my numpy was on 1.7.1 and it was giving error while doing import cv2.
I downloaded/copied the pip data from the above mentioned link, renamed as get-pip.py in the Scripts folder under Python27. Once done, I ran python get-pip.py command(u need to set the env variable for Python so that it can be executed from under Script folder where the get-pip.py file is kept) through the windows command terminal. This installad the pip to my system.
After then in the cmd terminal, went to Scripts folder and ran the cmd pip install --upgrade numpy which then Successfully installed numpy-1.13.1.
It was giving some problem due to previous numpy version, which i uninstalled through the control panel.
Cheers,

Can't install external packages in Python

My problem is when I'm trying to install an external package via Command Prompt, I'm getting an error. I've just started programming and I don't understand everything yet.
That's an error:
If Python 2 and Python 3 are both installed on the system, they can interfere and cause easy_install to break.
Hence, you will need to specify which version of Python and easy_install you want, like this:
python-2.7 -m easy_install <module>
For any other version of Python, just change the -2.7 to your major.minor version.

Could not find platform independent libraries <prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

I'm really new to Python and Django.... What I'm trying to do is:
Install Python 2.7 on Mac OS 10.6.8
Install pip Install Django
Install virtualenvwrapper
Create virtual environment
Install Django-Cms
I think, I'll be is ok from Install virtualenvwrapper to the Django-Cms installation because I have already done it, but in the first steps I got some troubles.
I download Python 2.z from python.org the Python 2.7.3 Mac OS X 64-bit/32-bit x86-64/i386 Installer (for Mac OS X 10.6 and later [2]), installed whit the wizard . That create a directory /System/Library/Frameworks/Python.framework/Versions with inside my 2.7 folder.
My directory /System/Library/Python is empty
I'm sure I've Python installed cos:
python --version
Python 2.7.3
but when I try easy_install pip it gave me:
Could not find platform independent libraries <prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "/usr/bin/easy_install-2.6", line 7, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 16, in <module>
import sys, os, zipimport, time, re, imp, new
ImportError: No module named os**
Now no idea of what does mean ...so if somebody could help out from this and put me on the direction where I can istall my virtualenvwrapper I can take it from there.
I'm Junior a front end developer never touch back end so pls be specific and explain me what I need to do as u speak with a child.
You seem to have things turned around. Virtualenv creates a python environment that encapsulates a python install. So you want to do the following:
Install python
Create a virtualenv using that version of python (eg. virtualenv --python="path to python in 1" virt)
Switch to that virtualenv (workon virt)
Now install Django, etc. inside of the virtualenv virt
Here is the recipe I used to get my environment setup and running.
Are you using homebrew? I've found that's the most reliable way to get stuff on the mac.