【问题标题】:virtualenv gcc errorvirtualenv gcc 错误
【发布时间】:2011-08-10 08:03:48
【问题描述】:

如果我在创建 virtualenv 时使用 --no-site-packages 选项,然后尝试安装 MySQL-python,我会得到:

error: command 'gcc' failed with exit status 1

这是我遵循的步骤:

easy_install-2.7 --install-dir ~/src/lib/ virtualenv==dev
~/src/lib/virtualenv  --no-site-packages ENV
.../ENV/bin/pip-2.7 install MySQL-python

我也尝试下载 mySQL-python 并使用

安装
.../ENV/bin/python setup.py build

我得到同样的错误枯萎方式。 我假设我错过了这个 virtualenv 中的 gcc,但是如何在仍然使用 --no-site-packages 选项的同时将它安装在这个 virtualenv 中。 谢谢

编辑:根据下面的 cmets,这里是整个错误输出。

running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-x86_64-2.7/MySQLdb
running build_ext
building '_mysql' extension
gcc -m32 -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/opt/lampp/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv
In file included from /opt/lampp/include/python2.7/Python.h:58,
                 from pymemcompat.h:10,
                 from _mysql.c:29:
/opt/lampp/include/python2.7/pyport.h:849:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
In file included from /usr/include/mysql/my_config.h:11,
                 from _mysql.c:36:
/usr/include/mysql/my_config_x86_64.h:1032:1: warning: "SIZEOF_LONG" redefined
In file included from /opt/lampp/include/python2.7/Python.h:8,
                 from pymemcompat.h:10,
                 from _mysql.c:29:
/opt/lampp/include/python2.7/pyconfig.h:989:1: warning: this is the location of the previous definition
error: command 'gcc' failed with exit status 1

【问题讨论】:

  • 你得到什么编译错误?
  • 你看到了什么错误?你为什么要传递你的 virtualenv 和所有这些?你为什么不直接从那里安装activate venv 和 pip?
  • 我没有激活,因为我不需要。如果我转到 virtualenv 目录并从那里启动我的 virtualenv python,则没有区别。 activate 所做的就是把它们放在路径中,这样你就可以用你的 virtualenv 来做 /usr/bin/env python。我说的不对吗?
  • 我还没有真正调查过,但activateing 是使用 virtualenv 的标准方式。你为什么不试试看它是否有效?如果是这样,我们至少有一个解决方案。

标签: python virtualenv mysql-python


【解决方案1】:

你需要 mysql-devel 包。要安装,你需要指定实际的包名 -

sudo apt-get install libmysql++-dev

【讨论】:

    【解决方案2】:

    您是否尝试过使用 sudo 命令。我猜你有权限问题而不是这里的其他问题。通常安装会抛出此错误,因为它尝试使用您不拥有的 root 权限访问目录。

    【讨论】:

    • 使用 virtualenv 的主要原因是我在一个无法 sudo 的系统上
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多