Kesulitan menginstal scipy di virtualenv pada amazon ec2 linux micro contoh

Saya telah berhasil diinstal scipy di default python compiler pada amazon ec2 instance micro (Ubuntu 13.04). Namun saya tidak bisa install scipy di virtualenv.

pip menginstal scipy berakhir dengan kesalahan ini

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

dan

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)

Sebelum ada yang bertanya. pip freeze untuk compiler default kembali

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

pip freeze perintah untuk kembali virtualenv

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
Mengomentari pertanyaan (6)
Larutan

Salah satu solusinya adalah untuk sementara mengaktifkan swap di situs micro contoh. Seperti yang dijelaskan di JADI posting, mengaktifkan 1gb swap melalui:

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

Setelah swap pada, instal scipy melalui pip:

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

Setelah scipy berhasil menginstal, anda dapat menonaktifkannya melalui:

sudo swapoff /var/swap.1
sudo rm /var/swap.1
Komentar (5)

Ini bekerja untuk saya:

pip --no-cache-dir install scipy

Lihat:

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

catatan:

  • bekerja untuk penyedia layanan lainnya, perangkat keras, VMs, dan kontainer.
  • jika alokasi RAM ukuran 1GB
  • hanya menghitung perbedaan antara cache directory penggunaan memori dan ram yang tersedia
Komentar (3)

Ya, 512MB tidak cukup untuk mengkompilasi C++ file.

Pilihan terbaik anda adalah untuk membangun Scipy sebagai sebuah paket biner (bdist, atau telur, atau, yang lebih modern roda) misalnya melalui python setupegg.py bdist_egg pada mesin yang berbeda dengan lingkungan yang kompatibel. Misalnya, menggunakan yang sama Linux versi EC2 instance dalam mesin virtual.

Secara umum,'s baik untuk diingat bahwa ketika pip menginstal paket, mengkompilasi file sumber. Jika paket tidak kecil, hal ini tidak efisien dan's baik untuk menggunakan paket binary. Roda format paket yang seharusnya untuk bermain dengan baik bersama-sama dengan pip.

Komentar (1)

bagi saya kesalahan sedikit berbeda.

Blas (http://www.netlib.org/blas/) libraries not found.

Directories to search for the libraries can be specified in the

numpy/distutils/site.cfg file (section [blas]) or by setting

the BLAS environment variable.

----------------------------------------
Cleaning up...
Command /home/kdixit/pyvirt/bin/python -c "import setuptools;__file__='/home/kdixit/pyvirt/build/scipy/setup.py';exec(compile(open(__file__).read().replace('\r\n

Dengan demikian saya harus menginstal

sudo apt-get install libblas-dev

dan kemudian bekerja.

Komentar (2)

Aku mulai keluar dari memori virtual kesalahan selama scipy kompilasi pada t2.mikro, saya pikir numpy yang disusun baik-baik saja. Anyway, saya kira bahwa Dolan Antenucci's jawaban akan memperbaiki masalah saya, tapi bukan saya pergi rute lain, kompromi, yang tidak bekerja.

I'm menjalankan Ubuntu contoh jadi ingatlah bahwa dalam pikiran.

sudo apt-get -y install python-scipy && echo -e "\nok, installed python-scipy, continuing...\n"

# add scipy to the venv
mkdir ~/venv_PROJECT/lib/python2.7/site-packages/scipy/
ln -s /usr/lib/python2.7/dist-packages/scipy/* ~/venv_PROJECT/lib/python2.7/site-packages/scipy/

# add numpy to the venv
mkdir ~/venv_PROJECT/lib/python2.7/site-packages/numpy/
ln -s /usr/lib/python2.7/dist-packages/numpy/* ~/venv_PROJECT/lib/python2.7/site-packages/numpy/

# add PIL to the venv
mkdir ~/venv_PROJECT/lib/python2.7/site-packages/PIL/
ln -s /usr/lib/python2.7/dist-packages/PIL/* ~/venv_PROJECT/lib/python2.7/site-packages/PIL/

Kompromi adalah bahwa anda memenangkan't dapat menggunakan versi yang berbeda di antara berbagai lingkungan virtual dan anda're terikat dengan versi di repo.

Sebuah kata peringatan:

>>> import scipy
>>> scipy.__version__
'0.13.3'

>>> import numpy
>>> numpy.__version__
'1.8.2'

>>> from PIL import Image
>>> Image.VERSION
'1.1.7'
Komentar (0)