我当前正在使用Ubuntu 16.04 LTS。
问题是当我打开终端时,收到此消息。
No command 'pew' found, did you mean:
Command 'pyew' from package 'pyew' (universe)
Command 'new' from package 'nmh' (universe)
Command 'pen' from package 'pen' (universe)
Command 'pex' from package 'pex' (universe)
Command 'pmw' from package 'pmw' (universe)
Command 'peg' from package 'peg' (universe)
Command 'paw' from package 'paw-common' (universe)
Command 'spew' from package 'spew' (universe)
Command 'pev' from package 'pev' (universe)
Command 'pee' from package 'moreutils' (universe)
Command 'psw' from package 'wise' (universe)
pew: command not found
bash: : No such file or directory
ubuntu@ubuntupc:~$
[当我尝试安装并运行此CVPR project时收到此消息。
我所做的是
- 创建虚拟环境
ubuntu@ubuntupc:~/Downloads/camconvs-master$ virtualenv -p /usr/bin/python3.5 cvpr_env
- 已激活的虚拟环境
ubuntu@ubuntupc:~/Downloads/camconvs-master$ source cvpr_env/bin/activate
- 已安装的项目要求
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install -r requirements.txt
- 已安装的cmake-setuptools
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install cmake-setuptools
- 已安装的座位
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install pew
- 是否有这些
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ cd lmbspecialops
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master/lmbspecialops$ python setup.py install
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master/lmbspecialops$ pew add python
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master/lmbspecialops$ cd ..
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ export LMBSPECIALOPS_LIB="/path/to/camconvs/lmbspecialops/build/lib.linux-x86_64-3.5/lmbspecialops.so"
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pew add python/
完成这些操作后,每次打开新终端并重新引导系统时,均会显示此消息,但此问题无法解决。
我是Ubuntu的新手,我不知道我对系统做了什么。问题是,如何停止显示这些消息?
UPDATE 2
我的〜/个人资料是这吗?抱歉,我不确定。
ubuntu@ubuntupc:/etc$ sudo cat profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
我也检查了profile.d文件夹,但看不到任何与座位相关的文件。
ubuntu@ubuntupc:/etc$ ls profile.d
appmenu-qt5.sh bash_completion.sh vte-2.91.sh
apps-bin-path.sh cedilla-portuguese.sh
在我看来,您在这里所做的是在虚拟环境(pew
)中而不是在主机系统上安装了cvpr_env
。当您打开一个新终端时,它将运行并执行~/.profile
中的命令,所以我猜测pew
可能是编辑了该文件? pew
有没有相关的内容?
other answer指出,问题的原因是:
- 已安装的座位
(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install pew
[您在pew
内时在这里安装了virtualenv
。
如my comment中所述,安装pew
会将二进制文件安装在standard bin
文件夹之一下,该文件夹通常为/usr/local/bin/
或/home/gino/.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
注意,我说standard文件夹,因为在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
中列出的standard路径的一部分。您可以在echo $PATH
中添加.bashrc
行以显示所有路径。
那该怎么办?以下是可能的解决方案:
安装虚拟环境的pew
外部
virtualenv activate
即可使用cvpr_env
。检查common workflow的使用情况。pew
作为您的虚拟环境。如果您已经拥有自己的虚拟环境,则无需安装和使用pew
。但是,如果您[[really希望将pew
放在虚拟环境中(不确定如何运行),则可以执行以下操作之一:
/path/to/venv/bin/pew
添加到您的PATH
环境变量。在.bashrc
中,添加这些pew
的行(在虚拟环境中使用which pew
获取正确的路径)export PATH="$PATH:/path/to/your/venv/bin/pew"
在pew
中指定.bashrc
的完整路径
/path/to/your/venv/bin/pew ...