【问题标题】:How to add virtualenv to path如何将virtualenv添加到路径
【发布时间】:2013-03-05 10:19:12
【问题描述】:

我试图找出为什么我的 virtualenv 和/或 virtualenv 包装器 - 使用 pip 安装使用 homebrew - 找不到。我认为这是因为它没有添加到我的 PATH 中:

$ which virtualenv
$ 

和:

$ virtualenv someDir
$ -bash: virtualenv: command not found

我使用homebrew 安装了pip,使用pip 安装了virtualenv,没有问题。我尝试重新安装virtualenv,但这也不起作用。 我怎么知道要添加到PATH 的路径?只是virtualenv.py 似乎安装到的路径?好像是:

/usr/local/lib/python2.7/site-packages/virtualenv.py

我还找到了this guide,这表明:

$ ln -s ../Cellar/python/2.7/Frameworks/Python.framework/Versions/2.7/bin/virtualenv virtualenv

但是,它并不能帮助我运行virtualenv。我在 Mac OSX 10.7.5 (Lion) 上。

【问题讨论】:

  • 不是路径问题。安装成功后,Pip 会在/usr/local/bin/ 中放入一个名为virtualenv 的可执行文件。尝试pip uninstall virtualenv,然后重新安装sudo pip install virtualenvsudo 因为您需要在全局范围内安装它。
  • @Bibhas 但是如果我加载launchd.conf,我将/usr/local/bin 添加到我的路径中,那么我应该能够在bash 中使用virtualenv 对吗?还是 pip 只在使用 sudo 时把它放在那里?我在哪里可以找到这些信息?
  • @Bibhas 我尝试了你的建议,我做到了: + $ pip uninstall virtualenv + $ pip uninstall virtualenvwrapper + $ sudo pip install virtualenv + $ cd /usr/local/bin/ + $ find virtualenv +发现:virtualenv:没有这样的文件或目录``所以这里出了什么问题?这是有道理的……但是为什么呢??
  • 你是如何安装 pip 的?你用brew安装了哪个包?你能用pip -V检查pip版本吗?当您使用 pip 安装 virtualenv 时,它会给出任何错误吗?可以贴一下安装日志吗?
  • 看到这个截图d.pr/i/paQQ的前3个问题,这个用于安装virtualenv:d.pr/i/c4pE和virtualenvwrapper:d.pr/i/L7E0另外,我在任何时候安装virtualenv都没有错误,我做到了有警告..

标签: python macos path virtualenv pip


【解决方案1】:

我通过以下方式解决了它: 起初,我发现它位于/usr/local/python3 然后我通过命令修复它:

ln virtualenv /usr/local/bin/virtualenv

【讨论】:

    【解决方案2】:

    (Mac / Linux 特定) 因此,当我执行pip3 install --user --upgrade virtualenv 告诉我我的路径中没有Users/home/Library/Python/3.7/bin 时,我收到了一条错误消息。所以我简单地添加了它。

    如果这是在 Mac 上,以下是为我完成的

    vi ~/.bash_profile
    
    
    
    PATH="/Users/home/Library/Python/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
    

    重启你的终端并输入virtualenv env 就可以了。

    【讨论】:

      【解决方案3】:

      对于那些使用 Python 2.7 的人,我也遇到了这个问题,只需将以下行放入 \etc\paths 文件(可能需要先 $ sudo chmod 它)来解决它:

      /Library/Frameworks/Python.framework/Versions/2.7/bin
      

      保存更改并启动新的终端会话。用echo $PATH检查一下

      【讨论】:

        【解决方案4】:

        我的想法是将你的 virtualenv 位置添加到 BASH PATH

        export PATH=$PATH:/usr/local/python2.7/bin 或者换个位置

        【讨论】:

          【解决方案5】:

          pip install virtualenv 之后遇到同样的问题

          当我检查 python ls -la /usr/local/bin/python 时,我发现它符号链接到 /Library/Frameworks/Python.framework/Versions/2.7/bin/python

          当我在那个目录中 cd 时,我还发现了 virtualenv 可执行文件和

          修复它

          1. cd /Library/Frameworks/Python.framework/Versions/2.7/bin
          2. ln virtualenv /usr/local/bin/virtualenv

          旁注:我也碰巧在/System/Library/Frameworks/Python.framework/Versions/2.7/bin安装了python

          我相信这是 OSX 自带的

          【讨论】:

          • 为我工作。我很好奇是什么导致它最终处于这种状态。
          • 为我工作,尽管我的 virtualenv 可执行文件位于不同的位置。结果还证明 pip install virtualenv 结果有一条警告消息,指示应将 /usr/local/bin/virtualenv 添加到 PATH。
          【解决方案6】:

          似乎我自己是几乎所有“简单”安装程序规则的例外。出于某种原因,这是一个与路径相关的问题:

          我跑了brew info python,输出了很多信息。在底部我发现了这个:

          Executable python scripts will be put in:
          /usr/local/share/python
          so you may want to put "/usr/local/share/python" in your PATH, too.
          

          我在/etc/launchd.conf~/.bashrc 中将它添加到我的PATH 中,你瞧:

          $ which virtualenv 
          

          告诉我:

          "/usr/local/share/python/virtualenv"
          

          我仍然不知道为什么我在网上、任何地方都找不到任何指向正确方向的指针? pip install virtualenv 是否应该添加到 PATH 本身?如果是这样,为什么不在我的系统上?为什么@bibhas 明确告诉我这不是路径问题?

          【讨论】:

          • 有趣的原因 brew 只是告诉我从我的路径中删除它,因为它现在的工作方式不同了,但是我不能再使用 virtualenv ..
          • 感谢您精心编写的解决方案,完全解决了我的问题。
          【解决方案7】:

          此解决方案将为您提供一个替代工具来同时使用和解决您的virtualenv 问题。

          使用pythonbrew。它的灵感来自 ruby​​ 世界中的 rvm,有助于管理系统上的 python,还包装了 virtualenv 命令以提供虚拟环境管理。我将它用于我的开发目的 Mountain Lion 并且没有任何问题。更多详情(在我的博客上):http://stacktoheap.com/blog/2013/03/11/why-use-virtualenv-when-there-is-pythonbrew/

          【讨论】:

          • 我认为如果它开箱即用就很好,但是 1)这是我的问题的解决方法,并且 2)我不能使用自制软件安装它,我喜欢作为包管理器几个月以来:)
          • 这是我预料到的:如果我下载了依赖于 virtualenv 的 pythonbrewm,并且我尝试使用它,你猜怎么着:futuremaggel:~ supermaggel$ pythonbrew -bash: pythonbrew: command not found futuremaggel:~ supermaggel$ which pythonbrew futuremaggel:~ supermaggel$ 它不知道命令或者找不到它..和我在 virtualenv 上遇到的问题一样。
          【解决方案8】:

          在您的 .bashrc 中,您需要:

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

          【讨论】:

          • 当我尝试这个时(我已经把它放在我必须创建的 .bashrc 和 .bash_profile 中)它告诉我:-bash: /usr/local/bin/virtualenvwrapper.sh : 没有这样的文件或目录
          • 然后打开一个新的 bash shell:bash 或关闭并重新打开您的终端
          【解决方案9】:

          /usr/local/lib/python2.7/site-packages 中的模块由一个短脚本导入,该脚本使用pkg_resources.load_entry_point 运行应用程序。实用程序脚本应位于/usr/local/bin

          【讨论】:

          • 很抱歉,我的 pip/bash fu 还不足以理解您的解决方案,您能否详细说明一下?
          猜你喜欢
          • 2012-05-31
          • 2021-02-25
          • 2012-05-10
          • 2021-12-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多