【问题标题】:virtualenvwrapper commands aren't workingvirtualenvwrapper 命令不起作用
【发布时间】:2012-08-27 06:42:35
【问题描述】:
tow-81-235:Projects pessimisticoptimism$ mkvirtualenv development
-bash: mkvirtualenv: command not found
tow-81-235:Projects pessimisticoptimism$ sudo pip install virtualenvwrapper
Password:
Requirement already satisfied (use --upgrade to upgrade): virtualenvwrapper in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Python/2.7/site-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /Library/Python/2.7/site-packages (from virtualenvwrapper)
Cleaning up...
tow-81-235:Projects pessimisticoptimism$ mkvirtualenv development
-bash: mkvirtualenv: command not found

为什么会出现此错误?我安装了virtualenvvirtualenvwrapper。我想使用mkvirtualenvworkon。我觉得奇怪的是 virtualenv 正在工作,但 virtualenvwrapper 却没有。

【问题讨论】:

    标签: virtualenvwrapper


    【解决方案1】:

    听起来您的机器上安装了多个 Python,而 virtualenvwrapper 没有指向正确的 Python。

    找出正在使用的 Python virtualenvwrapper。使用which virtualenvwrapper.sh(在本例中为/usr/local/bin)提示您在哪里查看:

    > /usr/local/bin/virtualenvwrapper.sh
    

    如果您在这里没有得到任何回报,请确保在安装时使用正确的 pip。 pip 命令可能链接到与您预期不同的 Python。检查您的 usr/local/bin 目录中的 pip 链接(pippip2pip2.7pip3pip3.5)。系统pippip2pip2.7很容易混淆。

    找到 Python 位置后,添加/更新 .profile 中的所有路径:

    export WORKON_HOME=$HOME/venv
    export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2
    source /usr/local/bin/virtualenvwrapper.sh
    

    最后重新加载您的个人资料:source ~/.profile

    【讨论】:

    • 为什么你使用 $HOME/Envs 而不是 $HOME/venv?我也收到错误:/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh: fork: Resource暂时不可用有什么线索吗?
    • Envs 是任意选择。我更喜欢venv,因为它都是小写的:) 回复fork: Resource temporarily unavailable,您可能已经达到系统的最大进程数(系统范围或每个用户,或者内存不足)。
    【解决方案2】:

    简单的过程

    1. sudo apt-get install python-pip(如果没有安装pip)
    2. sudo pip install virtualenv
    3. 创建一个目录来存储你的虚拟环境

      mkdir ~/.virtualenvs

    4. sudo pip install virtualenvwrapper

    5. 运行以下命令

      导出 WORKON_HOME=~/.virtualenvs

    6. 将 virtualenvwrapper.sh 添加到 .bashrc 将此行添加到 ~/.bashrc 的末尾,以便加载 virtualenvwrapper 命令。

      。 /usr/local/bin/virtualenvwrapper.sh

    7. 您将通过 ctrl+h 在主目录中找到 .bashrc.sh 文件。如果没有,则使用 find 命令查找 .bashrc.sh "file ls -la ~/ | more"

    8. 点击这个命令

      source /usr/local/bin/virtualenvwrapper.sh

    9. 点击这个命令

      来源 ~/.bashrc

    【讨论】:

      【解决方案3】:

      1st,确保您使用 sudo 进行安装:

      sudo pip install virtualenvwrapper
      

      第二,将以下行附加到您的 .bashrc 文件中(使用nano ~/.bashrc):

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

      第三,重新加载您的个人资料

      source ~/.bashrc
      

      【讨论】:

      • 为我工作..!谢谢
      • 关闭终端后。当我再次打开时,workon 命令不起作用..它发生“找不到命令”有没有办法永久激活?所以我每次打开终端时都可以执行“source .venvs/app/bin/activate”??
      • 嗨@ePascoal,.bashrc 中的行应该使其更改永久化。每次启动终端时,它都会读取当前用户的 .bashrc(假设您使用 bash 作为 shell)。您应该可以在 .bashrc 的第 3 行 (`source ...) 下添加 workon app 以使其每次自动激活。
      • MAC 用户 - 使用.bash_profile 而不是.bashrc,就像Will 的答案建议的那样。
      • 要使其永久化,请确保将两行(导出...和源...)添加到 ~/.bahrc 文件中,而不仅仅是复制和粘贴命令终端!
      【解决方案4】:

      Python 的 Anaconda(来自 Continuum)发行版的用户应注意

      sudo pip install virtualenvwrapper
      

      将是 anaconda 感知的。所以如果你

      which python
      

      这应该让您了解在 .bashrc 和/或 .profile 配置文件中将虚拟环境指向何处。

      【讨论】:

      • pip 可以链接到另一个 python。 which pippip -V 会让您更好地了解 python pip 链接到哪个以及 virtualenvwrapper。
      【解决方案5】:

      总结

      我在 Mac 上,我的答案类似于 @Ramces 的答案,但它是使用 bash_profile。我只是想进一步详细说明一下,让 Mac 用户知道有很多不同的配置文件,包括:

      • .bashrc
      • .bash_profile
      • .profile

      像 .profile 这样的一些文件不会优先于 .bash_profile(如果它存在的话),然后会被忽略。如果您成功执行以下步骤并让虚拟环境正常工作,但随后关闭终端并“找不到工作命令”,那么您需要设置正确的配置文件。详细答案见here

      安装步骤:

      1. sudo pip install virtualenv

        安装 virtualenv(允许你分离你的环境)

      2. sudo pip install virtualenvwrapper

        安装 virtualenvwrapper(允许你使用 'workon' 命令)

      3. nano ~/.bash_profile

        export WORKON_HOME=$HOME/.virtualenvs
        source /usr/local/bin/virtualenvwrapper.sh
        
      4. source ~/.bash_profile

        重新加载配置文件。展望未来,您只需要第 5 步(创建新环境)和第 6 步(运行环境)

      5. mkvirtualenv my_env

        这将创建您的虚拟环境(此示例使用 'my_env')

      6. workon my_env

        这使您可以在特定环境中工作(此示例使用“my_env”)

      【讨论】:

      • 在我的电脑上工作就像一个魅力。谢谢:)
      • 我想用 sudo 在 my_env 上运行 work。 sudo workon my_env 说 workon: command not found。我该如何解决这个问题?
      • 嗨,我有一个问题,我的 virtualenvwrpper.sh 不存在于 /usr/local/bin/ 它存在于 /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.$
      【解决方案6】:

      我在 Mac OS X 10.9.2 上,对我来说,virtualenvwrapper.sh 文件存在于

      /usr/local/bin/virtualenvwrapper.sh
      

      所以我简单地将其复制到~/.profile 文件中:

      source /usr/local/bin/virtualenvwrapper.sh
      

      现在我的~/.profile 文件看起来像这样:

      # MacPorts Installer addition on 2014-02-23_at_17:28:39: adding an appropriate PATH variable for use with MacPorts.
      export PATH=/opt/local/bin:/opt/local/sbin:$PATH
      # Finished adapting your PATH environment variable for use with MacPorts.
      
      source /usr/local/bin/virtualenvwrapper.sh
      

      现在我可以毫无问题地使用virtualenvwrapper 命令了

      【讨论】:

        【解决方案7】:

        使用pip 安装virtualenvwrapper 软件包后,您还必须进行一些初始化/设置您的偏好。请参阅introduction in the virtualenvwrapper docs

        与查找命令最相关的应该是将 virtualenvwrapper 脚本 放入您的 shell。在文档中它被称为

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

        您仍然需要调整设置路径。我对你的 Mac 的猜测是:

        $ source /Library/Python/2.7/site-packages/virtualenvwrapper.sh
        

        【讨论】:

        • 如果您已经在虚拟环境中,则 virtualenvwrapper.sh 位于该虚拟环境本身的 bin 文件夹中,如下所示 { source ~/mypythonenv/bin/virtualenvwrapper.sh }
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-24
        • 1970-01-01
        • 2014-09-28
        • 2023-04-08
        • 2018-11-14
        • 2014-11-25
        • 2016-12-11
        相关资源
        最近更新 更多