【问题标题】:virtualenv is not compatible with this system or executablevirtualenv 与此系统或可执行文件不兼容
【发布时间】:2014-02-10 19:53:15
【问题描述】:

我对 Linux (Ubuntu) 和安装 (Python) 包比较陌生。我在使用 mkvirtualenv 时遇到问题,无法解决:

~$ mkvirtualenv mysite70
New python executable in mysite70/bin/python
Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 562, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 544, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 271, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 246, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 236, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/lib/python2.7/sysconfig.py", line 577, in get_config_var
    return get_config_vars().get(name)
  File "/usr/lib/python2.7/sysconfig.py", line 476, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/lib/python2.7/sysconfig.py", line 355, in _init_posix
    raise IOError(msg)
IOError: invalid Python installation: unable to open /home/sietse/.virtualenvs/mysite70/local/include/python2.7/pyconfig.h (No such file or directory)
ERROR: The executable mysite70/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/home/usr/.virtualenvs' (should be u'/home/usr/.virtualenvs/mysite70')
ERROR: virtualenv is not compatible with this system or executable

我是不是安装有问题?

【问题讨论】:

  • 尝试使用sudo 运行mk 命令。让我们确保它不是 linux 中经常出现的权限错误。

标签: python-2.7 ubuntu-12.04


【解决方案1】:

这可能是您当前在 Linux 机器上登录的用户的权限错误。

试试

sudo mkvirtualenv mysite70

这通常会提示输入 root 用户的密码。

如果这不起作用,您可能需要查看以下文章:

http://noelusion.com/2013/Fixing-the-mysterious-virtualenv-error-IOError-invalid-Python-installation/

但请注意,这篇文章是对一个相当具体的实例的破解。

【讨论】:

  • 我这样做并得到:~$ sudo mkvirtualenv mysite70 sudo: mkvirtualenv: command not found
  • sudo 可以在 ubuntu 上更改 $PATH 变量。在 sudo 之后检查您的 $PATH 变量。如果不是您所期望的,请关注以下帖子:stackoverflow.com/questions/257616/sudo-changes-path-why
  • ...我不知道会发生什么...只知道它给出了“mkvirtualenv:找不到命令”...当我点击你的链接时,我会得到:~$ echo '回声 $PATH' | sh /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 和:~$ echo '回声 $PATH' | sudo sh /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 这个路径对我来说似乎没问题!?知道为什么找不到该命令吗?我是否在“su 域之外”安装了 Python 或其他东西?我该如何“修复”?谢谢!
【解决方案2】:

我想我搞砸了安装。我重新安装了 Ubuntu、virtualenv 等。它现在可以正常工作了。

【讨论】:

  • 好的,但是如果您清除并重新安装相关软件包(python-virtualenv virtualenvwrapper),删除旧的 .virtualenvs 文件夹并从头开始创建 virtualenv,它也可能会起作用。
【解决方案3】:

确保您的用户名包含重音符号或特殊字符。如果是,请更改目录创建环境,创建一个环境变量 WORKON_HOME,其值等于新路径。例如:C:\Envs

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多