Gần đây tôi đã chuyển chương trình của mình sang máy tính Windows 7 64 bit và đã cài đặt các thư viện có liên quan. Tuy nhiên tôi đang gặp vấn đề với thư viện Scipy - Sparse.Scipy - Thư viện thưa thớt ImportError: Tải DLL bị lỗi:% 1 không phải là ứng dụng Win32 hợp lệ
Tôi đã cài đặt scipy0.12.0-amd64-py27 (như python 2.7 install là bản phát hành 64 bit) cho cửa sổ và khi sử dụng thư viện scipy trực tiếp, tôi không gặp phải lỗi nào. ví dụ.
import scipy
print scipy.version
lợi nhuận
<module 'scipy.version' from 'C:\Python27\lib\site-packages\scipy\version.pyc'>
Đúng như dự đoán.
Tuy nhiên khi cố gắng nhập khẩu các thư viện thưa thớt như sau:
from scipy import sparse
tôi nhận được:
ImportError: DLL load failed: %1 is not a valid Win32 application.
Đáng buồn là kiến thức của tôi còn hạn chế và tôi dường như không thể tìm ra giải pháp phù hợp. Gần nhất là tôi đã cài đặt sai thư viện, tuy nhiên tôi không thể thấy lý do tại sao điều này sẽ xảy ra nếu thư viện scipy gốc hoạt động chính xác.
Có ai biết giải pháp cho điều này không? Hoặc nó sẽ là tốt hơn để sử dụng một trong các gói python cho các cửa sổ với scipy cài đặt trực tiếp?
Cảm ơn
chỉnh sửa:
Đây là traceback từ lỗi:
Traceback (most recent call last):
File "C:\Users\Piers\Documents\Physics\PhD\Code\Far Time Crank-Nicholson\FarTimeCrankNicholson.py", line 16, in <module>
from scipy import sparse
File "C:\Python27\lib\site-packages\scipy\sparse\__init__.py", line 182, in <module>
from .csr import *
File "C:\Python27\lib\site-packages\scipy\sparse\csr.py", line 15, in <module>
from .sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
File "C:\Python27\lib\site-packages\scipy\sparse\sparsetools\__init__.py", line 5, in <module>
from .csr import *
File "C:\Python27\lib\site-packages\scipy\sparse\sparsetools\csr.py", line 26, in <module>
_csr = swig_import_helper()
File "C:\Python27\lib\site-packages\scipy\sparse\sparsetools\csr.py", line 22, in swig_import_helper
_mod = imp.load_module('_csr', fp, pathname, description)
ImportError: DLL load failed: %1 is not a valid Win32 application.
Vấn đề thường gặp ở đây là một cái gì đó 'scipy.sparse' phụ thuộc vào (hoặc là" nhập 'Python, hoặc dưới dạng DLL C) bị hỏng/sai (ví dụ: 32 bit .pyd thay vì một bit 64 bit). Thật không may, vì một hạn chế trong logic nhập của Python 2.7, rất khó để nói điều gì (trong trường hợp đầu tiên, truy nguyên có thể cho bạn biết - và bạn luôn phải đăng tải lại hoàn toàn - nhưng trong trường hợp thứ hai, có không có thêm thông tin để có). – abarnert
Đã thử cài đặt C++ Redistribute, thật đáng buồn là không hoạt động. Chúc mừng cho đề nghị mặc dù! –
Có phải đó là 'scipy0.12.0-amd64-py27' từ trang web [Christoph Gohlke] (http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy), hoặc cái gì đó khác? – abarnert