Cho em hỏi download numpy/arrayobject.h ở đâu ạ, trong máy em không có ạ
dạ em cảm ơn!
Cho em hỏi download numpy/arrayobject.h ở đâu ạ, trong máy em không có ạ
dạ em cảm ơn!
Không biết bạn có thử Google chút nào chưa. Đây là một số thứ mình tìm được khi gõ numpy/arrayobject.h
:
https://groups.google.com/forum/#!topic/caffe-users/fUmPS89inn8
Giả sử đường dẫn Python của bạn là C:/Python3x
thì bạn compile
python setup.py build_ext --compiler=mingw32 --swig-opts="-c++ -I <đường dẫn Python>/include -I <đường dẫn Python>/Lib/site-packages/numpy/core/include/"
Bạn chạy lệnh compile ở trong folder code của bạn chứ.
folder code c++hả anh
Đúng rồi. File setup.py của bạn cũng phải ở folder đó.
Không cần đâu em, đã có người fix được lỗi trên rồi. Chịu khó search google mã lỗi là ra.
Cứ chỉnh sửa lại code giống của họ là được.
chép cái này vào setup.py hả anh
Ừ đúng rồi . À mà nhớ sửa sao cho đúng nha.
ext_modules = [Extension("hello", ["hello.pyx"],
include_dirs=[get_numpy_include()])] # <---- New argument
setup(
name = 'Hello world app',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
phần này cho vào như thế nào mấy anh,thanks
Hmmm… File pyx của em đâu ?
dạ em quick search không có ạ
em tải về file pyx nhưng không có trong đó ạ
Haizzzzz. Cython là compiler(dạng thư viện) dùng để biên dịch code python thành code C/C++. File pyx chính là file chứa code python, còn setup.py
là file mà Python đọc để hiểu và compile code Python thành C/C++
Error 1 error C1083: Cannot open include file: ‘numpy/arrayobject.h’: No such file or directory c:\microsoft visual studio 11.0\vc\include\matplotlibcpp.h 19 lỗi này là lỗi gì anh
Nãy giờ đang bình luận cách sửa lỗi đó mà ? Nói tóm gọn lại như thế này:
Em tạo ra một file có đuôi .pyx
chứa code em cần compile sang C/C++ bên trong. Em tạo ra một file tên setup.py
(đặt tên khác cũng được) chứa đoạn code sau:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy as np # <---- New line
ext_modules = [Extension("hello", ["hello.pyx"],
include_dirs=[numpy.get_include()])] # <---- New argument
setup(
name = 'Hello world app', #Đặt tên gì cũng được
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
Thay hello và hello.pyx thành tên file chứa code cần compile sang C/C++
Ví dụ: Có file sample.pyx chứa code em cần compile sang C/C++. Em thay "hello"
thành "sample"
và "hello.pyx"
thành "sample.pyx"
, đặt tên khác thì em áp dụng quy tắc tương tự.
Sau đó chạy lệnh python setup.py build_ext --inplace
(nếu không đặt tên setup.py mà là tên khác thì nhớ thay đổi lại).
Trước khi dùng bất kì một framework hay thư viện nào, hãy xem các hướng dẫn trên mạng hoặc đọc luôn tài liệu của thư viện, framework đó thì càng tốt.