【问题标题】:virtualenv not running after install安装后virtualenv未运行
【发布时间】:2015-09-11 03:29:47
【问题描述】:

我有

$ which virtualenv
$ 

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

我试图将 virtualenv 添加到我的 PATH 中,但我真的不知道我在做什么。这是路径

$PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/MAMP/Library/bin:/usr/local/mysql/bin:/usr/local/bin/virtualenv:/usr/local/bin/virtualenv/virtualenv.py

如您所料,问题仍然存在。

我究竟需要做什么来解决这个问题?

我很确定我需要以某种方式将 virtualenv 添加到 PATH,但什么是“virtualenv”?

这是否意味着 .py 文件,或者如果有多个副本,我应该在哪里查找?如果没有人可以提供此问题的解决方案,那么至少澄清问题对我来说将有助于排除故障。

我用过

sudo easy_install virtualenv

安装,结果成功

Using /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-13.1.2-py2.7.egg

谢谢。

【问题讨论】:

  • 你是如何以及在哪里安装 virtualenv 的?
  • 我使用了 sudo easy_install virtualenv,我不确定它到底安装在哪里
  • 在您的PATH 中,注意实体/usr/local/bin/virtualenv/virtualenv.py。也许在上面做一个ls -l 看看里面有什么(实际上可能是可执行文件)。
  • 好的,最后两条路径我顺便手动添加了
  • 我不知道 OS X(或它附带的 python 版本)如何处理路径或入口点创建。基本上它没有在任何默认PATH 中创建可执行文件virtualenv,或者您当前的shell 会话看不到新创建的/usr/local/bin/virtualenv,因为它在执行之前不存在。

标签: python path virtualenv


【解决方案1】:

通常,安装virtualenv 会在/usr/local/bin/virtualenv 之类的地方创建一个精简的包装脚本。我不知道为什么你的没有;但它非常简单,您可以手动将其复制/粘贴到$HOME/bin/virtualenv 或任何地方。 (你的PATH 中似乎没有$HOME/bin,所以你必须添加它,或者如果你有权限并且觉得你知道你在做什么,那么把它放在像/usr/local/bin 这样的地方.. . 但我觉得你不应该这样做。)

#!/usr/bin/env python
import virtualenv
virtualenv.main()

或者,将alias virtualenv='python /that/long/path/to/virtualenv.py' 之类的内容放在您的.bash_profile 或类似名称中。

这些都是简单的解决方法;在没有关于您的系统的更多详细信息(包括运行它时easy_install 的输出)的情况​​下找出安装失败的原因,对于 Stack Overflow 问题来说可能太复杂了。

顺便说一句,PATH 的最后一个组件是错误的。 PATH 变量是以冒号分隔的目录列表;将单个文件添加到 PATH 将不起作用。从理论上讲,您可以更改它以使父目录位于路径上,并始终使用virtualenv.py 而不仅仅是virtualenv,但我认为这不是一个正确的修复(实际上我不确定它是否会工作的。看起来如果你有一个与我相似的版本,但如果你没有呢?)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2019-02-03
    • 1970-01-01
    • 2018-10-12
    • 2021-05-25
    • 1970-01-01
    • 2013-03-10
    相关资源
    最近更新 更多