No module named 'virtualenv' - python

I installed 'virtualenv' with
pip install virtualenv
Installing collected packages: virtualenv
Successfully installed virtualenv-16.0.0
However, when I run 'virtualenv project1' it gives me this error:
**ModuleNotFoundError: No module named 'virtualenv'**
It happens with every package I tried to install. I have python2 and python3 at the same time. I suspect that is messing up everything. Does anyone know how to fix this?

I have python2 and python3 at the same time.
you are likely installing for Python3 but trying to run with Python2 (or vice versa)
for installing into Python2, use:
python -m pip install <package>
for installing into Python3, use:
python3 -m pip install <package>

Related

How to fix pip error "Error while finding module specification for 'pip' (AttributeError: module '__main__' has no attribute '__file__')"?

In a virtual environment I get the error
path/to/python: Error while finding module specification for 'pip' (AttributeError: module '__main__' has no attribute '__file__')
when I run commands like
python -m pip install --upgrade pip
python -m pip freeze
However, when I run the same command with pip it works, e.g.
pip install --upgrade pip
pip freeze
python is the same as python3, version is 3.8.12, I reinstalled pip using
pip install --force-reinstall pip
pip version is 21.3.1.
What else can I do so the python -m pip commands work again?
Well, the problem is that a version 60.3.0 is being used, which has a bug. But you cannot install a different version of setuptools, because you have already installed version 60.3.0.
Solution: Wait for version >60.3.0
On 7 Jan 2022 Version 60.3.1 has been released, which fixed the problem in the question.

Python3 virtualenv installation borked: No module named 'virtualenv.seed.via_app_data'

I am on a MAC OS 10.15.6
I am having a tough time with virtualenv for python3.
The error I keep getting
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'
It pops up when I run the following command (among others)
python3 -m virtualenv
What I have tried
Pip installing virtualenv with sudo
Regular pip install, normal permissions
Using the pip install --user option
Trying older versions of virtualenv (20.0.23)
Trying newer version of virtualenv (20.0.31)
Any leads are appreciated.
Exactly same problem!
I uninstalled virtualenv, and now it works!
pip uninstall virtualenv
I don't know why
Maybe python now comes with a built-in version of virtualenv?
I'm on python 3.8

Pip install not working?

I've been using Ubuntu 17.04 but my pip install is not working. Pip3 works fine and I've been getting by using python3 but I want to use volatility plugins with vol.py and I need python2 for that.
pip install just runs normally and installs everything fine but when I import it it says it's not installed. And yes I've tried using pip2, python -m pip, etc-- python -m pip just gives some error about no zlib when I've already installed it (zlib package thing). Help?
You can specify which version of python you want to use
Try this
python3.6 -m pip install <package>
or
python3 -m pip install <package>

'No module named requests' even if I installed requests with pip

I'm trying to test if requests module has been well installed. But I'm getting the following error :
raceback (most recent call last):
File "/Users/macbookpro/Desktop/test.py", line 1, in <module>
import requests
ImportError: No module named requests
when trying to run the following test script:
import requests
print 'test'
But I have installed requests with pip, and pip list command gives the following result :
MBPdeMacBook2:~ macbookpro$ pip list
arrow (0.7.0)
beautifulsoup4 (4.4.1)
classifier (1.6.5)
coursera-dl (0.6.1)
Django (1.8.6)
html5lib (1.0b8)
keyring (9.0)
lxml (3.6.0)
Pillow (3.4.2)
pip (8.0.2)
pyasn1 (0.1.9)
requests (2.14.2)
setuptools (19.4)
six (1.10.0)
urllib3 (1.16)
vboxapi (1.0)
virtualenv (13.1.2)
wheel (0.26.0)
Why requests isn't being imported ?
EDIT :
MBPdeMacBook2:~ macbookpro$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
MBPdeMacBook2:~ macbookpro$ which pip
/usr/local/bin/pip
MBPdeMacBook2:~ macbookpro$ python --version
Python 2.7.11
MBPdeMacBook2:~ macbookpro$ pip --version
pip 8.0.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
In general, you should get into the habit of working in a virtualenv. I find the documentation here to be helpful.
If you install all of your dependencies within the virtual environment, you'll be (mostly) sure that you are installing those deps. in the same environment that you're running the jobs in.
For your case, on the command line go to the directory where your code lives and run
pip install virtualenv
virtualenv my_project
source my_project/bin/activate
Now that the virtualenv is active you can
pip install requests
Only what is installed in the virtualenv will be available. This will keep your system clean. Each project should get its own virtualenv, meaning only the dependencies needed for each project will be available to them. This way you could, say, have version 1 of some dependency installed for one project and version 2 for another. They won't come into conflict.
After you have installed all the dependencies, run
pip freeze > requirements.txt
To get a list of all the dependencies for the project saved. Next time you need to install these, you simply run
pip install -r requirements.txt
Once you are done working in the virtualenv, run
deactivate
I am not 100% sure, but the paths from which python and which pip may indicate that you have two versions installed. The Python version being the old one that was shipped with OS X, and another version.
I would advice you to install Python27 (or even better Python3) from brew.
You can install brew with a single command, and another one for installing Python27/3. When this is done you set the PATH variable in your shell rc file and you should be good to go.
I have Python27 installed (via brew) and my (working environment) reports the following paths:
which python: /usr/local/bin/python
which pip: /usr/local/bin/pip
And
python --version: 2.7.15
pip --version: pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python2.7)
I experienced this same issue on Ubuntu 18.04 LTS, to check that, I first checked if requests library was installed on my system or not.
Run these commands on your terminal inside the virtual environment in which you working
$ python
Then the python command line opens, then run
>>> import requests
After this if you get an ImportError saying, No module named requests, then it means the dependency has not been installed properly. If there is no such error, then it means the dependency is installed successfully.
This can occur for example if pip is actually pip3 and python is actually python2.7.
In your case the which pip and which python eliminate this possibility but it just happened to me.
The solution was to do pip2 instead of pip; if the situation was reversed you can use pip3.
Simply go inside your virtual environment and run below commands:
1). pip install --user pipenv
2). pipenv install requests
after executing the above commands cd to your app folder inside the virtual environment and just run it. Hopefully now it will run.
Reference link: https://python-guide-pt-br.readthedocs.io/pt_BR/latest/dev/virtualenvs.html#make-sure-you-ve-got-python-pip

Installing python packages with multiple versions on OSX

I am attempting to install a package for python3.4 on Mac OSX 10.9.4. As you know, python ships with OSX, so when I installed python3.4 I was happy to find that it came with its own version of pip, that would install packages to it (installing pip on a mac with multiple versions of python will cause it to install on the system's python2.7.)
I had previously tried installing this package (https://pypi.python.org/pypi/chrome/0.0.1) with my first installation of pip (the one tied to python2.7) and found that it successfully installed on that version, but not on any others.
I ran an install with the new pip keyword for python3.4 (which when called by itself spits out the help page so i know it works) and it told me that the package was already installed and to try updating. The update revealed that I already had the most recent version. so I tried uninstalling it from just the python3.4 and reinstalling to no avail, and got the same results when uninstalling pip from python2.7 and reinstalling only on version 3.4.
I know that's a bit hard to follow but hopefully that makes sense.
I also reviewed the content here with no success.
RESOLVED:
while python did have a directory named the same as a directory it uses with packages, this was not the correct directory, for me it was in a subdirectory of library. while documentation said that referencing pip2 would cause the package to install on python3.4, this was false. however, referencing pip3.4 worked for me.
My suggestion is that you start using virtualenv.
Assuming you have 3.4 installed, then you should also have pyvenv. As for pip and 3.4, it should already be installed.
Using for example version 3.4 create your own virtual environment and activate it:
$ mkdir ~/venv
$ pyvenv-3.4 ~/venv/py34
$ source ~/venv/py34/bin/activate
$ deactive # does what is says...
$ source ~/venv/py34/bin/activate
$ pip install ... # whatever package you need
With version 2.7 first install virtualenv and then create your own virtual environment and activate it. Make sure that setuptools and pip are updated:
$ virtualenv-2.7 ~/venv/venv27
$ . ~/venv/venv27/bin/activate
$ pip install -U setuptools
$ pip install -U pip
$ pip install ... # whatever package you need

Categories