ERROR: virtualenvwrapper could not find virtualenv

2019-03-14 09:15发布

I'm trying to create a virtualenv with virtualenvwrapper, but when I use mkvirtualenv I get the following :

ERROR: virtualenvwrapper could not find virtualenv in your path

I assumed it was a PYTHONPATH problem. But if I do a pip show virtualenv I get the following :

---
Metadata-Version: 2.0
Name: virtualenv
Version: 13.1.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: python-virtualenv@groups.google.com
License: MIT
Location: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages
Requires:

And here is my PYTHONPATH :

/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:~/.brew/Cellar

It contains the directory containing virtualenv!

(i-e : /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages )

My ~/.zshrc contains :

export WORKON_HOME=~/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME"/Library/Python/2.7/bin/virtualenvwrapper.sh"

EDIT : virtualenvwrapper.sh is written in bash, perhaps should I check my PATH instead of my PYTHONPATH ?

So, what could the problem be? How could I fix it?

Thank you in advance for your help.

8条回答
看我几分像从前
2楼-- · 2019-03-14 09:55

I am using python3 with virtualenvwrapper installed on Ubuntu 18.04, using pip3 without sudo. If you are in this situation, you might find interesting my configuration.

In the end of my .bashrc I added the following rows (remember to put your username in the YOUR_USERNAME field):

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/home/YOUR_USERNAME/.local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

Then restart the cli with ctrl-D ctrl-T or reload the config with source ~/.bashrc. Then you should be good to go! Try the installation with:

lsvirtualenv
mkvirtualenv test
workon test
deactivate
rmvirtualenv test

If you could create and delete a virtual environment, you are ready to go.

查看更多
Luminary・发光体
3楼-- · 2019-03-14 09:58
  1. find where is your virtualenvwrapper is located. in my case

~/.local/bin

  1. Add this path in your shell configuration [.bashrc or .zshrc or whatever] by simply

PATH=$PATH:

for example

PATH=$PATH:~/.local/bin

Don't Forget to restart the shell.. or reload the configuration...

查看更多
走好不送
4楼-- · 2019-03-14 10:01

I finally found out what the problem was :

virtualenvwrapper.sh is written in BASH and not in Python. So virtualenv is called from a shell (zsh). I didn't have to bother about my PYTHONPATH, but about my PATH (I was already able to import virtualenv from my python shell anyway).

I just added the correct directory to my PATH and everything worked fine.

查看更多
叼着烟拽天下
5楼-- · 2019-03-14 10:08

Re-installling virtualenv fixed my problem.

I had the same issue.

$ mkvirtualenv mysite
ERROR: virtualenvwrapper could not find virtualenv in your path

After a lot of time consuming efforts, I decided to re-install virtualenv.

sudo apt install virtualenv

This fixed my issues. I already had virtualenv installed. But I think it got broken or met with some errors.

查看更多
我只想做你的唯一
6楼-- · 2019-03-14 10:08

I had this same issues and tried many many things, what found as a solution is i had three pip version, pip with 2.7, 3.6 and 3.7. and 3.6 was the one works fine for many things, and install as sudo pip3.6 install virtualenv, and it works fine. I would suggest, check your pip version and tried to install based on your pip ver.

查看更多
smile是对你的礼貌
7楼-- · 2019-03-14 10:11
  1. sudo find / -name "virtualenv"

    Then I find the executable file path is:

    /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv

  2. Touch a soft link in the /usr/local/bin/ directory or add the path to .bash_profile, I prefer the former:

    sudo ln -s /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
    
查看更多
登录 后发表回答