Reputation: 1039
I've created a virtual environment with:
$ virtualenv my_ven_test
then let's activate the environment with:
$ source my_ven_test/bin/activate
now let's install a package:
(my_ven_test) $ pip install mysql-connector==2.1.3
This last line does not take effect. In fact if I check:
(my_ven_test) $ pip freeze
I see no package installed (as well as the my_ven_test/lib/python/site-package
directory doesn't contain the mysql-connector package)
Could you guide me in solving this issue?
Some notes:
Upvotes: 11
Views: 17026
Reputation: 17
after jumping to Scripts folder cd Scripts just write .\activate It works perfectly see here on youtube
Upvotes: -1
Reputation: 61345
Forget about virtualenv
, use the brand new Pipenv
which is recommended by Python.org
Pipenv
automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile
(more about this below) as you install/uninstall packages.
First install pipenv using:
$ pip install pipenv
Then, for installing project specific packages, first create your project folder and then install all necessary packages for your project like:
$ mkdir myproject
$ cd myproject
# install `requests` library
$ pipenv install requests
# install more libraries required for your project
$ pipenv install mysql-connector
$ pipenv install numpy
This will create two files, namely Pipfile
and Pipfile.lock
. You can find the list of all installed packages for the current project in the file Pipfile
while Pipfile.lock
has info on hashes like sha256
for all the installed packages and their dependencies.
Once you're done with the installation of all necessary packages for your project, then do:
$ pipenv shell
which will launch a subshell in virtual environment. (This does the similar job of source /your/virtualenv/activate)
Then you can start coding.. For example, you can first test whether installed packages are working fine by launching a Python shell and import the packages like below:
$ python
>>> import requests
# ....
To exit out of the (virtualenv) shell, simply do:
$ exit
Now, you're out of the virtual environment created by pipenv
Read more about it installing packages for your project @ pipenv.kennethreitz.org
Upvotes: 8
Reputation: 598
When you are within a venv you should use the following to install a package:
py -m pip install mysql-connector==2.1.3
the -m ensures the package is installed into your venv and not into your root python
Upvotes: 1
Reputation: 712
Try installing the package without activating virtualenv:
# Install it
my_ven_test/bin/pip install mysql-connector==2.1.3
# Use grep to check if exists
my_ven_test/bin/pip list | grep mysql-connector
If that works, then try to activate virtualenv by running this code:
. my_ven_test/bin/activate
Try installing another package
pip install flake8
Afterwards, search for those two packages
pip list | grep mysql-connector
pip list | grep flake8
Let me know the result.
Upvotes: 0