打开终端时某些东西会自动运行(Ubuntu 16.04)

问题描述 投票:0回答:2

我当前正在使用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时收到此消息。

我所做的是

  1. 创建虚拟环境ubuntu@ubuntupc:~/Downloads/camconvs-master$ virtualenv -p /usr/bin/python3.5 cvpr_env
  2. 已激活的虚拟环境ubuntu@ubuntupc:~/Downloads/camconvs-master$ source cvpr_env/bin/activate
  3. 已安装的项目要求(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install -r requirements.txt
  4. 已安装的cmake-setuptools (cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install cmake-setuptools
  5. 已安装的座位(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ pip install pew
  6. 是否有这些(cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ cd lmbspecialops
  7. (cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master/lmbspecialops$ python setup.py install
  8. (cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master/lmbspecialops$ pew add python
  9. (cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master/lmbspecialops$ cd ..
  10. (cvpr_env) ubuntu@ubuntupc:~/Downloads/camconvs-master$ export LMBSPECIALOPS_LIB="/path/to/camconvs/lmbspecialops/build/lib.linux-x86_64-3.5/lmbspecialops.so"
  11. (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
python ubuntu terminal virtualenv ubuntu-16.04
2个回答
1
投票

在我看来,您在这里所做的是在虚拟环境(pew)中而不是在主机系统上安装了cvpr_env。当您打开一个新终端时,它将运行并执行~/.profile中的命令,所以我猜测pew可能是编辑了该文件? pew有没有相关的内容?


0
投票

other answer指出,问题的原因是:

  1. 已安装的座位(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路径。

那该怎么办?以下是可能的解决方案:

  1. 安装虚拟环境的pew 外部

    • 恕我直言,这是最简单的。
    • pew文档开始,应该
    • 成为Python虚拟环境的包装器。因此,您可以使用它来激活虚拟环境并在其中工作。您无需手动执行virtualenv activate即可使用cvpr_env。检查common workflow的使用情况。
    • canconvs指令中说,要使用pew作为您的虚拟环境。
  2. 如果您已经拥有自己的虚拟环境,则无需安装和使用pew。但是,如果您[[really

  3. 希望将pew放在虚拟环境中(不确定如何运行),则可以执行以下操作之一:
      /path/to/venv/bin/pew添加到您的PATH环境变量。在.bashrc中,添加这些
    • before调用pew的行(在虚拟环境中使用which pew获取正确的路径)export PATH="$PATH:/path/to/your/venv/bin/pew"
      pew中指定.bashrc的完整路径
    • /path/to/your/venv/bin/pew ...
© www.soinside.com 2019 - 2024. All rights reserved.