Reputation: 465
I'm trying to run some modules in Python 3.4 that work fine for me in 2.7. tweepy and pexpect are two examples. Unfortunately, in 3.4 on the same Mac, I'm getting "ImportError: No module named 'pexpect'"
Looking at pypi.python.org, I see that tweepy lists Python 3 and Python 3.4 while pexpect lists only Python 3.
To rectify my problem, I've tried upgrading and sudo installing the modules through both pip and pip3.
I'm running Mac OSX El Capitan. I installed 3.4 via the download and instructions at python.org and not through homebrew, et al. pip --version returns: "pip 7.1.2 from /Library/Python/2.7/site-packages (python 2.7)"
I've seen similar questions on StackOverflow, but answers seem to be Linux specific (Importing modules that work in Python 2.7 but not Python 3.4 and How to use pip with Python 3.x alongside Python 2.x) or the answers are not working for me.
Can someone provide me with some insight into what I'm missing?
Upvotes: 0
Views: 1654
Reputation: 148880
The Python 3 documentation on Installing Python Modules says that you must install pip for your version and call it per version. As it should be included in Python 3.4 (but unsure what vendor package managers do ...), the following is cited in referenced doc:
python3 -m pip install SomePackage # default Python 3
python3.4 -m pip install SomePackage # specifically Python 3.4
Upvotes: 2
Reputation: 1233
Python3 and Python2 have very separate package definitions. When you have a package installed for python2, it is definitely not installed for python3. Typically, python has a version of pip installed for each version of python. Such as pip3.3 or pip3.4 for python3 and pip 2.6 or pip 2.7 for python 2. If you're trying to use a package for python 2 it will not register as installed for python 3.
Upvotes: 1