bash:mkvirtualenv:找不到命令

时间:2012-12-13 08:03:19

标签: python bash centos virtualenv virtualenvwrapper

按照Doug Hellman's virtualenvwrapper post上的说明操作后,我仍然无法启动测试环境。

[mpenning@tsunami ~]$ mkvirtualenv test
-bash: mkvirtualenv: command not found
[mpenning@tsunami ~]$

应该注意的是,我使用的WORKON_HOME不在我的$HOME中。我尝试查找/usr/local/bin/virtualenvwrapper.sh,如virtualenvwrapper installation docs所示,但它不存在。

我正在运行CentOS 6和python 2.6.6,如果这很重要的话。


# File: ~/.bash_profile
# ...

export WORKON_HOME="/opt/virtual_env/"
source "/opt/virtual_env/bin/virtualenvwrapper_bashrc"

11 个答案:

答案 0 :(得分:93)

解决方案1 ​​

由于某些原因,virtualenvwrapper.sh安装了/usr/bin/virtualenvwrapper.sh,而不是/usr/local/bin下。

.bash_profile中的以下内容......

source "/usr/bin/virtualenvwrapper.sh"
export WORKON_HOME="/opt/virtual_env/"

我的安装似乎无法正常运行virtualenvwrapper_bashrc

解决方案2

或者,如下所述,您可以利用virtualenvwrapper.sh已经在您的PATH {}}中发出source `which virtualenvwrapper.sh`

的机会

答案 1 :(得分:46)

尝试:

source `which virtualenvwrapper.sh`

反引号是命令替换 - 它们接受程序打印出来的任何内容并将其放入表达式中。在这种情况下""检查$ PATH以查找virtualenvwrapper.sh并输出路径。然后shell通过“源”来读取脚本。

如果您希望每次重新启动shell时都发生这种情况,那么最好从""中获取输出。首先命令,然后输入" source" shell中的行,如下所示:

echo "source /path/to/virtualenvwrapper.sh" >> ~/.profile

^根据您的shell,这可能略有不同。另外,注意不要使用单个>因为这会截断你的〜/ .profile:-o

答案 2 :(得分:38)

我在OS X 10.9.1上使用python 2.7.5遇到了同样的问题。 WORKON_HOME对我来说没有任何问题,但在我运行source "/usr/local/bin/virtualenvwrapper.sh" ~/.bash_profile添加到~/.bashrc(或unix中的pip install virtualenvwrapper) >

答案 3 :(得分:19)

执行此命令的先决条件 -

1)pip(递归首字母缩略词 P ip nstall P ython)是一个用于安装和管理软件包的包管理系统用Python编写。许多包都可以在Python包索引(PyPI)中找到。

sudo apt-get install python-pip

2)安装虚拟环境。用于创建虚拟环境,安装彼此隔离的多个项目的包和依赖项。

sudo pip install virtualenv

3)安装虚拟环境包装器About virtual env wrapper

sudo pip install virtualenvwrapper

安装先决条件后,您需要将虚拟环境包装器用于创建虚拟环境。以下是步骤 -

1)在路径变量中设置虚拟环境目录 - export WORKON_HOME=(directory you need to save envs)

2)source /usr/local/bin/virtualenvwrapper.sh -p $WORKON_HOME

如@Mike所述,来源`virtualenvwrapper.sh`或which virtualenvwrapper.sh可以用来定位virtualenvwrapper.sh文件。

最好在〜/ .bashrc中加上两行,以避免每次打开新shell时都执行上述命令。这就是使用 mkvirtualenv

创建环境所需的全部内容

要记住的要点 -

  • 在Ubuntu下,您可能需要以root身份安装virtualenv和virtualenvwrapper。只需在上面的命令前加上sudo。
  • 根据用于安装virtualenv的过程,virtualenvwrapper.sh的路径可能会有所不同。通过运行$ find / usr -name virtualenvwrapper.sh找到合适的路径。相应地调整.bash_profile或.bashrc脚本中的行。

答案 4 :(得分:2)

由于我刚经历了一次阻力,所以我将尝试写两个小时前希望得到的答案。这适用于不只是想要复制粘贴解决方案的人

第一:您是否想知道为什么复制和粘贴路径对某些人有效,而对其他人却无效?**主要原因是,解决方案不同是不同的python版本,2.x或3.x。实际上,存在与python 2或3一起使用的virtualenv和virtualenvwrapper的不同版本。如果您使用的是python 2,则安装如下:

sudo pip install virutalenv
sudo pip install virtualenvwrapper

如果您打算使用python 3,请安装相关的python 3版本

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

您已经成功安装了适用于python版本的软件包,并且已经设置好了,对吧?在您的终端中输入workon。您的终端将无法找到命令(workon是virtualenvwrapper的命令)。当然不会。 Workon是可执行文件,只有在加载/提供文件virtualenvwrapper.sh后,您才能使用它。但是官方installation guide涵盖了这一点,对吗?只需打开.bash_profile并插入以下内容即可,该内容在文档中显示:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

特别地,命令source /usr/local/bin/virtualenvwrapper.sh似乎很有帮助,因为该命令似乎可以加载/提供所需文件virtualenvwrapper.sh,该文件包含您要使用的所有命令,例如workon和{{1} }。 但是,是的。按照官方安装指南进行操作时,您很可能会收到初始帖子mkvirtualenv中的错误。仍然找不到命令,您仍然感到沮丧。那么这里的问题是什么呢?问题在于,virtualenvwrapper.sh不是您正在寻找的地方。简短提醒...您正在这里查看:

mkvirtualenv: command not found

但是找到所需文件的方法非常简单。只需输入

source /usr/local/bin/virtualenvwrapper.sh

到您的终端。这将在您的PATH中搜索该文件,因为该文件很可能位于系统PATH所包含的某个文件夹中。

如果您的系统非常陌生,则所需的文件将隐藏在PATH文件夹之外。在这种情况下,您可以使用shell命令which virtualenvwrapper

找到virtalenvwrapper.sh的路径。

您的结果可能看起来像这样:find / -name virtualenvwrapper.sh 恭喜你/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh。现在,您要做的就是更改.bash_profile中的一个命令。只需更改:

You have found your missing file!

至:

source "/usr/local/bin/virtualenvwrapper.sh"

恭喜。 Virtualenvwrapper现在可以在您的系统上运行。 但是您可以做更多的事情来增强您的解决方案。如果您使用命令"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh" 找到了文件virtualenvwrapper.sh,则知道它位于目录的文件夹中。路径。因此,如果您只写文件名,则文件系统将假定该文件位于PATH文件夹内。因此,您不必写出完整的路径。只需输入:

which virtualenvwrapper.sh

就这样。您不再沮丧。您已经解决了问题。希望如此。

答案 5 :(得分:2)

使用此过程在ubuntu中创建虚拟环境

第1步    安装pip

   sudo apt-get install python-pip

第2步    安装virtualenv

   sudo pip install virtualenv

第3步    创建一个目录来存储您的virtualenvs(我使用〜/ .virtualenvs)

   mkdir ~/.virtualenvs

或使用此命令在环境中安装特定版本的python

virtualenv -p /usr/bin/python3.6 venv

setp 4

   sudo pip install virtualenvwrapper

第5步

   sudo nano ~/.bashrc

步骤6      在bashrc文件的末尾添加这两行代码

  export WORKON_HOME=~/.virtualenvs
  source /usr/local/bin/virtualenvwrapper.sh

步骤7    打开新终端(推荐)

步骤8   创建一个新的virtualenv

  mkvirtualenv myawesomeproject

第9步   要在virtualenvs之间加载或切换,请使用workon命令:

  workon myawesomeproject

步骤10    要退出新的virtualenv,请使用

 deactivate

并使用pip vs pip3

答案 6 :(得分:2)

要在Ubuntu 18.04.3上成功安装virtualenvwrapper,您需要执行以下操作:

  1. 安装virtualenv

    sudo apt install virtualenv
    
  2. 安装virtualenvwrapper

    sudo pip install virtualenv
    sudo pip install virtualenvwrapper
    
  3. .bashrc文件的末尾添加以下内容

    export WORKON_HOME=~/virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    source ~/.local/bin/virtualenvwrapper.sh
    
  4. 执行.bashrc文件

    source ~/.bashrc
    
  5. 创建您的virtualenv

    mkvirtualenv your_virtualenv
    

答案 7 :(得分:1)

在Windows 7和Git Bash上,这有助于我:

  1. 创建〜/ .bashrc 文件(在您的用户主文件夹下)
  2. 添加行导出WORKON_HOME = $ HOME / .virtualenvs (如果不存在,则必须创建此文件夹)
  3. 添加行来源" C:\ Program Files (x86)\ Python36-32 \ Scripts \ virtualenvwrapper.sh" (更改路径为 你的virtualenvwrapper.sh)
  4. 重新启动您的git bash和mkvirtualenv命令现在可以正常运行。

答案 8 :(得分:1)

在Windows 10和Windows的Python36上使用Git Bash,我发现virtualenvwrapper.sh的位置略有不同,运行此命令可以解决问题

source virtualenvwrapper.sh 
/c/users/[myUserName]/AppData/Local/Programs/Python36/Scripts

答案 9 :(得分:0)

通过在〜/ .bash_profile(或unix中的〜/ .bashrc)文件中添加以下两行,解决了我在使用Python 2.7.6的Ubuntu 14.04 OS中的问题。

源“ /usr/local/bin/virtualenvwrapper.sh”

导出WORKON_HOME =“ / opt / virtual_env /”

然后将这两行都执行到终端上。

答案 10 :(得分:0)

在Windows 10上,为了创建虚拟环境,我将“ pip mkvirtualenv myproject”替换为“ mkvirtualenv myproject”,并且效果很好。