Как указывает другой ответ , причина проблемы заключается в следующем:
установленный пиу (cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install pew
Здесь вы установили pew
, когда находились внутри virtualenv
.
Как уже упоминалось в моем комментарии , при установке pew
устанавливается двоичный файл в одну из стандартных bin
папок, которая обычно составляет /usr/local/bin/
или /home/<username>/.local/bin
или /usr/bin
, в зависимости от ваших прав установки Python / pip
.
gino:~$ python3 -m pip install --user pew
Requirement already satisfied: pew in ./.local/lib/python3.6/site-packages (1.2.0)
Requirement already satisfied: virtualenv>=1.11 in /usr/local/lib/python3.6/dist-packages (from pew) (16.6.0)
Requirement already satisfied: setuptools>=17.1 in /usr/lib/python3/dist-packages (from pew) (39.0.1)
Requirement already satisfied: virtualenv-clone>=0.2.5 in /usr/local/lib/python3.6/dist-packages (from pew) (0.5.3)
gino:~$ which pew
/home/gino/.local/bin/pew
Обратите внимание, что я сказал стандартных папок, потому что в Ubuntu эти пути к папкам по умолчанию включается в переменную окружения PATH
. Попробуйте с echo $PATH
. Это список всех путей, по которым система находит исполняемый файл. Так что, когда я ввожу только pew
(без полного пути), система знает, где его найти. Если это невозможно, выдается следующее сообщение об ошибке: " Команда 'pew' не найдена ".
Теперь вернемся к тому, что вы сделали, потому что вы установили pew
, пока в виртуальной среде (cvpr_env)
, pew
будет затем установлен в папку bin
этой виртуальной среды:
gino:~$ upvenv cvpr_env
(cvpr_env) gino:~$ pip install pew
...
Successfully installed appdirs-1.4.3 distlib-0.3.0 filelock-3.0.12 importlib-metadata-1.5.0 pew-1.2.0 six-1.14.0 virtualenv-20.0.5 virtualenv-clone-0.5.3 zipp-3.0.0
(cvpr_env) gino:~$ which pew
/home/gino/.venvs/cvpr_env/bin/pew
.. и этот путь к каталогу виртуальной среды не является частью стандартные пути указаны в PATH
. Вы можете добавить строку echo $PATH
в свои .bashrc
перед строками pew
, чтобы напечатать все пути.
Так что же делать? Вот возможные решения:
Установка pew
вне виртуальной среды
- ИМХО, это самое простое.
- Из документов pew можно быть оболочкой для виртуальной среды Python. Таким образом, вы используете его для активации и работы в виртуальной среде. Вам не нужно вручную
virtualenv activate
использовать cvpr_env
. Проверьте общий рабочий процесс на использование. - Из инструкций canconvs говорится, что
pew
используется в качестве виртуальной среды.
Если у вас уже есть собственная виртуальная среда, тогда нет необходимости устанавливать и использовать pew
. Но если вы действительно хотите иметь pew
внутри виртуальной среды (не знаете, как это будет работать), вы можете сделать одно из следующих действий: