Error virtualenvwrapper could not find virtualenv in your path

Вопрос:Я пытаюсь создать virtualenv с virtualenvwrapper, но когда я использую mkvirtualenv, я получаю следующее: ERROR: virtualenvwrapper could not find virtualenv in your path Я предположил, что это проблема PYTHONPATH. Но если я делаю a pip show virtualenv, я получаю следующее: --- Metadata-Version: 2.0 Name: virtualenv Version: 13.1.0 Summary: Virtual Python Environment builder Home-page: https://virtualenv.pypa.io/ Author:

Вопрос:

Я пытаюсь создать virtualenv с virtualenvwrapper, но когда я использую mkvirtualenv, я получаю следующее:

ERROR: virtualenvwrapper could not find virtualenv in your path

Я предположил, что это проблема PYTHONPATH.
Но если я делаю a pip show virtualenv, я получаю следующее:

---
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:

И вот мой 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-студент-3/пользователей/2013_paris/vmonteco/Library/Python/2.7/Lib/Python/сайт-пакеты:/Volumes/Data/NFS/ZFS-студент-3/пользователей/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:~/.brew/Cellar

Он содержит каталог, содержащий virtualenv!

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

Мой ~/.zshrc содержит:

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

РЕДАКТИРОВАТЬ:
virtualenvwrapper.sh написано в bash, возможно, я должен проверить мой PATH вместо моего PYTHONPATH?

Итак, что может быть проблема? Как я могу это исправить?

Заранее благодарим вас за помощь.

Лучший ответ:

Наконец-то я выяснил, в чем проблема:

virtualenvwrapper.sh написан в BASH, а не в Python.
Поэтому virtualenv вызывается из оболочки (zsh).
Мне не пришлось беспокоиться о моем PYTHONPATH, но о моей PATH (я уже мог импортировать virtualenv из моей оболочки python).

Я только что добавил правильный каталог в PATH, и все работало нормально.

Ответ №1

Повторная установка virtualenv исправила мою проблему.

У меня была такая же проблема.

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

После долгих усилий,
Я решил переустановить virtualenv.

sudo apt install virtualenv

Это устранило мои проблемы.
Я уже установил virtualenv. Но я думаю, что он сломался или встретился с некоторыми ошибками.

Ответ №2

  • sudo find / -name "virtualenv"

    Затем я нахожу, что путь исполняемого файла:

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

  • Коснитесь софт-ссылки в каталоге /usr/local/bin/ или добавьте путь к .bash_profile, я предпочитаю первый:

    sudo ln -s /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
    

Ответ №3

Я использую python3 с virtualenvwrapper, установленной на Ubuntu 18.04, используя pip3 без sudo. Если вы находитесь в такой ситуации, вам может быть интересна моя конфигурация.

В конце моего .bashrc я добавил следующие строки (не забудьте указать свое имя пользователя в поле YOUR_USERNAME):

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

Затем перезапустите cli с помощью ctrl-D ctrl-T или перезагрузите конфигурацию с source ~/.bashrc. Тогда тебе должно быть хорошо идти! Попробуйте установить с:

lsvirtualenv
mkvirtualenv test
workon test
deactivate
rmvirtualenv test

Если вы можете создать и удалить виртуальную среду, вы готовы к работе.

Ответ №4

  1. Найдите, где находится ваш virtualenvwrapper. в моем случае
 ~/.local/bin

Может быть, он установлен в

/usr/local/bin/

Это полностью зависит от системы или диспетчера пакетов, которые вы используете.

  1. Добавьте этот путь в конфигурацию вашей оболочки .bashrc или .zshrc или что-то еще, просто
PATH=$PATH:<directory_you_want_to_add>

например

PATH=$PATH:~/.local/bin

Также добавьте следующую конфигурацию в .bashrc или .zshrc

# the path you want your virtual environments to be saved and loaded from
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/<project_folder>

# most important, this is the program which loads virtualenv
# please update the path where virtualenvwrapper.sh is located
source /usr/local/bin/virtualenvwrapper.sh

Не забудьте перезапустить оболочку.. или перезагрузить конфигурацию…

Чтобы проверить, сработало ли это

mkvirtualenv test

если вы видите, что тестовая среда создана, то все в порядке.

Для получения подробных инструкций по установке перейдите в документацию: установка virtualenvwrapper

Ответ №5

Ваш PYTHONPATH заставляет меня думать, что у вас установлен Homebrew. Похоже, что virtualenvwrapper был установлен либо с вашим системным пипсом, либо с вашим домашним пипсом, когда он выполняется с помощью противоположного интерпретатора python.

Ответ №6

Я сделал это (используя zsh) следующим образом:

export PATH=$HOME/bin: /usr/local/bin:$PATH: /Users/username/Library/Python/2.7/bin:$PATH

Я просто разместил файл virtualenvwrapper.sh по этому пути /Users/username/Library/Python/2.7/bin:$PATH

и добавил этот путь к PATH.

Ответ №7

У меня были те же проблемы, и я попробовал много вещей, которые нашли решение: у меня была версия с тремя пунктами, с 2.7, 3.6 и 3.7. и 3.6 был тем, который отлично работает для многих вещей, и устанавливайте как sudo pip3.6 install virtualenv, и он отлично работает. Я бы посоветовал проверить вашу версию в pip и попытаться установить ее в зависимости от версии.

Ответ №8

ERROR: virtualenvwrapper could not find virtualenv in your path

Эта ошибка означает, что программа virtualenv не находится в системном пути. В основном это происходит, если вы устанавливаете virtualenv через pip без sudo. Этот тип установки хранит данные в локальном каталоге пользователей e.g ~/.local/bin. Итак, первый шаг – найти этот бинарный файл. Вы можете сделать это с помощью программы locate. Сначала обновите свою базу данных, используя sudo updatedb. Затем запустите locate *bin/virtualenv. Какой бы путь вы ни выбрали, добавьте его в системную переменную пути. Это можно сделать, добавив строку ниже в файл конфигурации оболочки, например ~/.bashrc or ~/.zshenv.

export PATH=$PATH:/your/path

например,

export PATH=$PATH:~/.local/bin

Теперь откройте новую оболочку и попробуйте снова. Ошибка должна исчезнуть.

Strongly inspired by https://gist.github.com/heymonkeyriot/9a2f429caff5c091d5429666fa080403.

Installing Python & Pip

On Ubuntu :

sudo apt install python3 python3-pip

or on Fedora < 31 :

sudo dnf install python3 python3-pip

That’ll install both Python and PIP.

(Side note that you should install multiple versions of Python via Pyenv rather than Brew/apt/dnf to avoid any bad Python conflicts)

Installing Virtualenv & Virtualenvwrapper

Install all your python env into local.

pip3 install --user virtualenv virtualenvwrapper

You’ll need to tell ZSH where virtualenvs scripts are located

In ~/.zshrc add the bin folder to the path before the plugins part :

# Add the bin folder to $PATH before the plugins load
PATH=$HOME/.local/bin:$PATH

Also, add the virtualenvwrapper to the plugin array :

plugins=(
        git
        ...
        virtualenvwrapper
    )

Then you can load your shell with this new config :

You might get into errors :

  • Virtualenvwrapper plugin doesn’t find the path of virtualenvwrapper.sh :

    [oh-my-zsh] virtualenvwrapper plugin: Cannot find virtualenvwrapper.sh.
    Please install with `pip install virtualenvwrapper`

    To fix it, you can put the correct path in the virtualenvwrapper plugin. Note: I don’t find these very elegant, you’v probably forgot to update your PATH before.
    For example, change all the lines of ~/.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh from /usr/local/ to $HOME/.local (if you’ve installed locally the modules).

    You can do it with one commande line with

    sed -i "s//usr/local/$HOME/.local/g" ~/.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
  • The virtualenvwrapper.sh script throws an error like :

    virtualenvwrapper_run_hook:12: permission denied:-
    virtualenvwrapper.sh: There was a problem running the initialization hooks.

    It’s probably your system use python3 command and not python. Adding alias python=python3 doesn’t seem to work.

    You need to add in .zshrc, before the plugins line :

    export VIRTUALENVWRAPPER_PYTHON=$(which python3)
  • ERROR: Environment '/home/john_doe/.virtualenvs/test-env' does not contain an activate script. on a Raspberry Pi

    First check your version of virtualenvwrapper with pip freeze | grep virtualenv, it should be 4.x.x and not 5.0.0. If necessary downgrade your version with pip uninstall virtualenvwrapper and pip install --user virtualenvwrapper=="4.8.4" (check the last version at PyPi).

    Then you can have the same issue is the as above, so just add export VIRTUALENVWRAPPER_PYTHON=$(which python3) to your .zshrc (or .bashrc) before loading the plugin.

Use virtualenvwrapper

When the source doesn’t throw any errors, you can test if virtualenvwrapper works.

Here you should see

New python executable in /home/john_doe/.virtualenvs/test/bin/python2.7
Also creating executable in /home/john_doe/.virtualenvs/test/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/john_doe/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/john_doe/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/john_doe/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/john_doe/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/john_doe/.virtualenvs/test/bin/get_env_details

You should see a (test) somewhere in you shell, but it might depend of the theme. (By default the ZSH virtualenv plugin hides the virtualenv name with export VIRTUAL_ENV_DISABLE_PROMPT=1. That’s why I didn’t add it to plugins, it doesn’t seem very useful but migh be linked with the theme I use.)

If you obtain the error ERROR: virtualenvwrapper could not find virtualenv in your path, check if you’ve add the bin folder to $PATH (see above).

Do whatever you want in your venv. Then to quit and delete.

deactivate
rmvirtualenv test

If the zsh plugin works correctly, you can link a venv to a git folder (auto workon and deactivate when you navigate in and out the folder. First create the folder test (usually a git clone). Then mkvirtualenv test. It should work, hopefully.

How to Set Up Virtualenv with Virtualenvwrapper on Ubuntu 18.04

Let me tell you a story. Recently, I realized that I needed to review how to set up virtualenvwrapper on top of virtualenv in Ubuntu 18.04. I have completed this process several of times on different computers, and every time it seems to be just a little bit different than before.

I just got a new laptop and on the way home I read several tutorials on “How to set up virtualenvwrapper on Ubuntu 18.04”. And let me tell you – it seemed really easy because all of those tutorials were pretty straight forward and basically explained how to do these three 3 things:

  • Install virtualenv
  • Install virtualenvwrapper
  • Edit .bashrc/.bash_profile or both

But even though I read all those tutorials none of them really worked for me.

I had several errors while trying to figure out what went wrong while following the tutorials.

First I got some of “mkvirtualenv: command not found”, then a little of “-bash: /usr/bin/virtualenvwrapper.sh: No such file or directory”, and then a touch of “ERROR: virtualenvwrapper could not find virtualenv in your path”.

After some research I realized that all virtualenvwrapper Ubuntu 18.04 tutorials are copies an old text written before April 2016 (the release date of Ubuntu 16.04).

I know this because from Ubuntu 16.04 and onward the location of vritualenvwrapper’s pip installation changed from /usr/local/bin/virtualenvwrapper.sh to ~/.local/bin/virtualenvwrapper.sh. Note that the local directory is hidden.

So I’ll start by writing a tutorial that will show you how to avoid all those issues mentioned above.

Prerequisites

In this article I will show you how to set up virtualenvwrapper with pip3 (pip for Python 3). I chosen this version of pip instead of a Python 2 because Pythons 2’s end of life was January 1. 2020.

Python 2 will retire in… https://pythonclock.org/

To complete this tutorial you will need a computer with Ubuntu 18.04 installed and an internet connection :). Also some knowledge about terminals and the Vim editor would be useful. I will assume you already updated and upgraded your system.

Setting up a Virtual Environment

Now open your terminal in the home directory by right clicking and choosing the option “Open in Terminal”. You can also press the CTRL, ALT, and T keys on your keyboard at the same time to open the Terminal application automatically.

You first need to create a special directory that will hold all of your virtual environments. So proceed with creating a new hidden directory called virtualenv.

mkdir .virtualenv

Now you should install pip for Python3.

sudo apt install python3-pip

Confirm the pip3 installation.

pip3 --version

Now install virtualenv via pip3.

pip3 install virtualenv

To find where your virtualenv was installed, type:

which virtualenv

Install virtualenvwrapper via pip3:

pip3 install virtualenvwrapper

We are going to modify your .bashrc file by adding a row that will adjust every new virtual environment to use Python 3. We will point virtual environments to the directory we created above (.virtualenv) and we will also point to the locations of the virtualenv and virtualenvwrapper.

Now open the .bashrc file using Vim editor.

vim .bashrc

If you still haven’t used the Vim editor or you don’t have it installed on your computer you should install it now. It is a widely used Linux editor, and for good reason.

sudo apt install vim

After you’ve installed Vim open the file .bashrc file by typing the vim .bashrc command in your terminal. Navigate to the bottom of the .bashrc file, press the letter i to enter the insert mode of Vim, and add these rows:

#Virtualenvwrapper settings:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/home/goran/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

After you are done, press the esc key. Then type :wq and press enter. This command will save and exit the Vim editor. Close and reopen your terminal when you’re done.

To create a virtual environment in Python3 and activate it immediately, use this command in your terminal:

mkvirtualenv name_of_your_env

You should confirm that this environment is set up for Python3:

Python -V

To deactivate the environment use the deactivate command.

deactivate

To list all available virtual environments use the command workon or lsvirtualenv (same result as workon but shown in a fancy way) in your terminal:

workon

lsvirtualenv

To activate one specific environment use workon + name of your environment:

workon name_of_your_env

There are several useful command you might need to use someday:

Rmvirtualenv will remove a specific virtual environment located in your .virtualenv directory.

rmvirtualenv name_of_your_env

Cpvirtualenv will copy the existing virtual environment to a new virtual environment and activate it.

cpvirtualenv old_virtual_env new_virtual_env

Well done! You have now created your first isolated Python 3 environment.

Thank you for reading! Check out more articles like this on my freeCodeCamp profile and other fun stuff I build on my GitHub page.



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

Понравилась статья? Поделить с друзьями:
  • Error uuid support not found this typically means the uuid development package is missing
  • Error usr src php ext mcrypt does not exist
  • Error using odearguments
  • Error unmappable character for encoding cp1252
  • Error unknown procedure parent 2 dwim could not correct goal