当前位置: 首页 > 知识库问答 >
问题:

在 amazon ec2 linux 微实例上的虚拟env 中安装 scipy 时遇到问题

宋昕
2023-03-14

我已经在amazon ec2微实例(Ubuntu 13.04)的默认python编译器中成功安装了scipy。然而,我无法在虚拟环境中安装scipy

< code>pip install scipy以此错误结束

scipy/sparse/sparsetools/csr_wrap.cxx: In function ‘void init_csr()’:

scipy/sparse/sparsetools/csr_wrap.cxx:73303:21: warning: variable ‘md’ set but not used [-Wunused-but-set-variable]

c++: internal compiler error: Killed (program cc1plus)

Please submit a full bug report,

with preprocessed source if appropriate.

See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.

----------------------------------------
Cleaning up...
Command /home/ubuntu/pnr/bin/python -c "import setuptools;__file__='/home/ubuntu/pnr/build/scipy/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-t8Drvd-record/install-record.txt --single-version-externally-managed --install-headers /home/ubuntu/pnr/include/site/python2.7 failed with error code -9 in /home/ubuntu/pnr/build/scipy

Traceback (most recent call last):
  File "/home/ubuntu/pnr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
  File "/home/ubuntu/pnr/local/lib/python2.7/site-packages/pip/__init__.py", line 148, in main
    return command.main(args[1:], options)
  File "/home/ubuntu/pnr/local/lib/python2.7/site-packages/pip/basecommand.py", line 169, in main
    text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 53: ordinal not in range(128)

在任何人问之前。pip冻结用于默认编译器返回

Cheetah==2.4.4
Landscape-Client==12.12
M2Crypto==0.21.1
PAM==0.4.2
Pillow==2.0.0
PyYAML==3.10
Twisted-Core==12.3.0
Twisted-Names==12.3.0
Twisted-Web==12.3.0
apt-xapian-index==0.45
argparse==1.2.1
boto==2.3.0
chardet==2.0.1
cloud-init==0.7.2
configobj==4.7.2
distribute==0.6.34
distro-info==0.10
euca2ools==2.1.1
numpy==1.7.1
oauth==1.0.1
paramiko==1.7.7.1
prettytable==0.6.1
pyOpenSSL==0.13
pycrypto==2.6
pycurl==7.19.0
pygobject==3.8.0
pyserial==2.6
python-apt==0.8.8ubuntu6
python-debian==0.1.21-nmu2ubuntu1
requests==1.1.0
scipy==0.11.0
six==1.2.0
ssh-import-id==3.14
urllib3==1.5
virtualenv==1.10.1
wsgiref==0.1.2
zope.interface==4.0.5

用于virtualenv返回的pip freeze命令

Cython==0.19.2
Flask==0.10.1
Flask-Bootstrap==3.0.0.1
Flask-WTF==0.9.3
Jinja2==2.7.1
MarkupSafe==0.18
WTForms==1.0.5
Werkzeug==0.9.4
argparse==1.2.1
beautifulsoup4==4.3.2
itsdangerous==0.23
numpy==1.7.1
pymongo==2.6.2
requests==2.0.0
wsgiref==0.1.2

共有3个答案

商璞
2023-03-14

是的,512MB不够编译那个C文件。

您最好的选择是将Scipy构建为二进制包(bdist、eggs或更现代的wheels),例如通过python setupegg。py-bdist_egg位于具有兼容环境的不同机器上。例如,在虚拟机中使用与EC2实例类似的Linux版本。

一般来说,记住当< code>pip安装软件包时,它会编译源文件。如果包不是很小,这是低效的,最好使用二进制包。< code>wheel包格式应该可以很好地与pip一起播放。

寿子默
2023-03-14

这对我很有效:

pip --no-cache-dir install scipy

请参阅:

>

  • 使用 pip 安装矩阵时出现内存错误

    https://github.com/pypa/pip/blob/9a23d4ed119327d3b823ec223aaead90964bac58/pip/basecommand.py#L56-L63

    https://github . com/pypa/pip/blob/28 CCA 11 e 284 b 37 cc 2c 7977 FD 25 be 6 f 494 adda9d 3/src/pip/_ internal/download . py # L359-L367

    注意:

    • 适用于其他服务提供商、硬件、VM和容器。
    • 如果RAM分配大小为1GB
    • 只需计算缓存目录内存使用量和可用内存之间的差异

  • 翟理
    2023-03-14

    一种解决方案是临时启用微实例上的交换。如本SO帖子所述,通过以下方式启用1gb交换:

    sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
    sudo /sbin/mkswap /var/swap.1
    sudo /sbin/swapon /var/swap.1
    

    一旦交换开始,通过点数安装scipy:

    sudo apt-get install -y libatlas-base-dev gfortran python-dev build-essential g++
    sudo pip install numpy
    sudo pip install scipy
    

    成功安装后,您可以通过以下方式禁用它:

    sudo swapoff /var/swap.1
    sudo rm /var/swap.1
    
     类似资料:
    • 问题内容: 我已经成功安装了Amazon ec2微型实例(Ubuntu 13.04)上的默认python编译器。但是我无法在virtualenv中安装。 以这个错误结束 和 在任何人问之前。对于默认的编译器返回 virtualenv命令返回 问题答案: 一种解决方案是临时在微型实例上启用交换。如本SO文章所述,可通过以下方式启用1gb交换: 一旦交换打开,通过pip安装scipy: scipy成功

    • 当尝试使用pip和conda安装Dash包时,我收到一个错误,说明找不到该包。所有其他软件包都可以使用pip安装 仪表板组件:https://plot.ly/dash/getting-started 例外情况:回溯(最近一次调用last):文件“C:\Users\Owner\Anaconda3\lib\site packages\pip\basecommand.py”,第215行,主状态为self

    • 初始化引导层 java.lang.module.FindException 时出错:找不到模块 helloFX 我的包名为helloFX,在从eclipse市场安装javafx时,我收到上面提到的执行错误

    • 我使用的是laravel 5.2 问题1 > 要启用扩展,请验证它们是否在这些. ini文件中启用: /etc/php5/cli/php。ini 我已经添加了extension=mongo。所以在/etc/php5/cli/php中。伊尼。我使用的是ubuntu 15.04和默认的apache2服务器。 我使用MongoDB 3.2.6版本。 请让我知道是什么问题? 谢谢

    • 我试图安装PyDev 3.2插件为ecplise,但每次我运行安装,我得到以下错误: “装软件”遇到了一个问题。收集要安装的项目时出错 Ubuntu版本:12.04.4 LTS Eclipse平台:3.7.2(通过软件中心下载) PyDev版本:3.2 我尝试过各种解决方案,包括通过命令提示符解压缩和安装。谢谢。

    • 这是一个react-native安装问题: 错误,无法安装应用程序。确保您已经设置了Android开发环境:https://facebook.github.io/react-native/docs/geting-started.html#android-development-environment。运行带有--verbose标志的CLI以获得更多详细信息。