Pandas: mengimpor panda istirahat setelah berhasil menginstal panda dengan pip

Dibuat pada 16 Jun 2017  Β·  46Komentar  Β·  Sumber: pandas-dev/pandas

Contoh Kode, contoh yang dapat disalin jika memungkinkan

> docker run --tty --interactive --rm python:2.7.12-alpine ash
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
v3.4.6-150-gf952adf [http://dl-cdn.alpinelinux.org/alpine/v3.4/main]
v3.4.6-83-g67e50bc [http://dl-cdn.alpinelinux.org/alpine/v3.4/community]
OK: 5983 distinct packages available
/ # apk add cython g++ musl-dev
(1/21) Upgrading musl (1.1.14-r12 -> 1.1.14-r14)
(2/21) Installing libffi (3.2.1-r2)
(3/21) Installing python (2.7.12-r0)
(4/21) Installing cython (0.24-r1)
(5/21) Installing libgcc (5.3.0-r0)
(6/21) Installing libstdc++ (5.3.0-r0)
(7/21) Installing binutils-libs (2.26-r1)
(8/21) Installing binutils (2.26-r1)
(9/21) Installing gmp (6.1.0-r0)
(10/21) Installing isl (0.14.1-r0)
(11/21) Installing libgomp (5.3.0-r0)
(12/21) Installing libatomic (5.3.0-r0)
(13/21) Installing pkgconf (0.9.12-r0)
(14/21) Installing pkgconfig (0.25-r1)
(15/21) Installing mpfr3 (3.1.2-r0)
(16/21) Installing mpc1 (1.0.3-r0)
(17/21) Installing gcc (5.3.0-r0)
(18/21) Installing musl-dev (1.1.14-r14)
(19/21) Installing libc-dev (0.7-r0)
(20/21) Installing g++ (5.3.0-r0)
(21/21) Upgrading musl-utils (1.1.14-r12 -> 1.1.14-r14)
Executing busybox-1.24.2-r11.trigger
OK: 230 MiB in 51 packages
/ # ln -s locale.h /usr/include/xlocale.h
/ # pip install numpy==1.11.3 pandas==0.20.2
Collecting numpy==1.11.3
  Downloading numpy-1.11.3.zip (4.7MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 4.7MB 242kB/s 
Collecting pandas==0.20.2
  Downloading pandas-0.20.2.tar.gz (10.3MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 10.3MB 124kB/s 
Collecting python-dateutil (from pandas==0.20.2)
  Downloading python_dateutil-2.6.0-py2.py3-none-any.whl (194kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 194kB 994kB/s 
Collecting pytz>=2011k (from pandas==0.20.2)
  Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 491kB 874kB/s 
Collecting six>=1.5 (from python-dateutil->pandas==0.20.2)
  Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: numpy, pandas
  Running setup.py bdist_wheel for numpy ... done
  Stored in directory: /root/.cache/pip/wheels/8f/d6/97/4cc26777ee05997164e480e2e5de2c9e9c4e32dfe325ea5bd6
  Running setup.py bdist_wheel for pandas ... done
  Stored in directory: /root/.cache/pip/wheels/fc/fd/0a/5857e8bee7d5cc3ca22228fb7ab5efa43be57c0f9103e54098
Successfully built numpy pandas
Installing collected packages: numpy, six, python-dateutil, pytz, pandas
Successfully installed numpy-1.11.3 pandas-0.20.2 python-dateutil-2.6.0 pytz-2017.2 six-1.10.0
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/ # python -c "import pandas"
RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/pandas/__init__.py", line 35, in <module>
    "the C extensions first.".format(module))
ImportError: C extension: umpy.core.multiarray failed to import not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.

Deskripsi masalah

Menginstal Pandas dengan pip berhasil, tetapi import pandas rusak.

Jika saya mengeluarkan dua perintah pip install , satu untuk numpy dan satu untuk pandas , itu berfungsi:

> docker run --tty --interactive --rm python:2.7.12-alpine ash
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
v3.4.6-150-gf952adf [http://dl-cdn.alpinelinux.org/alpine/v3.4/main]
v3.4.6-83-g67e50bc [http://dl-cdn.alpinelinux.org/alpine/v3.4/community]
OK: 5983 distinct packages available
/ # apk add cython g++ musl-dev
(1/21) Upgrading musl (1.1.14-r12 -> 1.1.14-r14)
(2/21) Installing libffi (3.2.1-r2)
(3/21) Installing python (2.7.12-r0)
(4/21) Installing cython (0.24-r1)
(5/21) Installing libgcc (5.3.0-r0)
(6/21) Installing libstdc++ (5.3.0-r0)
(7/21) Installing binutils-libs (2.26-r1)
(8/21) Installing binutils (2.26-r1)
(9/21) Installing gmp (6.1.0-r0)
(10/21) Installing isl (0.14.1-r0)
(11/21) Installing libgomp (5.3.0-r0)
(12/21) Installing libatomic (5.3.0-r0)
(13/21) Installing pkgconf (0.9.12-r0)
(14/21) Installing pkgconfig (0.25-r1)
(15/21) Installing mpfr3 (3.1.2-r0)
(16/21) Installing mpc1 (1.0.3-r0)
(17/21) Installing gcc (5.3.0-r0)
(18/21) Installing musl-dev (1.1.14-r14)
(19/21) Installing libc-dev (0.7-r0)
(20/21) Installing g++ (5.3.0-r0)
(21/21) Upgrading musl-utils (1.1.14-r12 -> 1.1.14-r14)
Executing busybox-1.24.2-r11.trigger
OK: 230 MiB in 51 packages
/ # ln -s locale.h /usr/include/xlocale.h
/ # pip install numpy==1.11.3 
Collecting numpy==1.11.3
  Downloading numpy-1.11.3.zip (4.7MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 4.7MB 221kB/s 
Building wheels for collected packages: numpy
  Running setup.py bdist_wheel for numpy ... done
  Stored in directory: /root/.cache/pip/wheels/8f/d6/97/4cc26777ee05997164e480e2e5de2c9e9c4e32dfe325ea5bd6
Successfully built numpy
Installing collected packages: numpy
Successfully installed numpy-1.11.3
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/ # pip install pandas==0.20.2
Collecting pandas==0.20.2
  Downloading pandas-0.20.2.tar.gz (10.3MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 10.3MB 125kB/s 
Collecting python-dateutil (from pandas==0.20.2)
  Downloading python_dateutil-2.6.0-py2.py3-none-any.whl (194kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 194kB 787kB/s 
Collecting pytz>=2011k (from pandas==0.20.2)
  Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 491kB 1.0MB/s 
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in /usr/local/lib/python2.7/site-packages (from pandas==0.20.2)
Collecting six>=1.5 (from python-dateutil->pandas==0.20.2)
  Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: pandas
  Running setup.py bdist_wheel for pandas ... done
  Stored in directory: /root/.cache/pip/wheels/fc/fd/0a/5857e8bee7d5cc3ca22228fb7ab5efa43be57c0f9103e54098
Successfully built pandas
Installing collected packages: six, python-dateutil, pytz, pandas
Successfully installed pandas-0.20.2 python-dateutil-2.6.0 pytz-2017.2 six-1.10.0
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/ # python -c "import pandas"

Komentar yang paling membantu

@jlbooker membuka masalah untuk melacak ini di sini: https://github.com/pandas-dev/pandas/issues/18530
Semoga kita bisa cepat memperbaikinya

Semua 46 komentar

Terlihat sangat mirip dengan https://github.com/pandas-dev/pandas/issues/11383#issuecomment -294242777

Bisakah Anda mencoba dengan mode verbose untuk melihat versi numpy yang diambil pip saat Anda melakukannya pada saat yang bersamaan?

Sepertinya sedang mengambil numpy 1.13.0 :

gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ipandas/_libs/src/klib -Ipandas/_libs/src -I/tmp/pip-build-WbJa3a/pandas/.eggs/numpy-1.13.0-py2.7-linux-x86_64.egg/numpy/core/include -I/usr/local/include/python2.7 -c pandas/_libs/testing.c -o build/temp.linux-x86_64-2.7/pandas/_libs/testing.o -Wno-unused-function
  gcc -shared build/temp.linux-x86_64-2.7/pandas/_libs/testing.o -L/usr/local/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/pandas/_libs/testing.so
  building 'pandas._libs.lib' extension
  gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ipandas/_libs/src/klib -Ipandas/_libs/src -I/tmp/pip-build-WbJa3a/pandas/.eggs/numpy-1.13.0-py2.7-linux-x86_64.egg/numpy/core/include -I/usr/local/include/python2.7 -c pandas/_libs/lib.c -o build/temp.linux-x86_64-2.7/pandas/_libs/lib.o -Wno-unused-function
  In file included from /tmp/pip-build-WbJa3a/pandas/.eggs/numpy-1.13.0-py2.7-linux-x86_64.egg/numpy/core/include/numpy/ndarraytypes.h:1809:0,
                   from /tmp/pip-build-WbJa3a/pandas/.eggs/numpy-1.13.0-py2.7-linux-x86_64.egg/numpy/core/include/numpy/ndarrayobject.h:18,
                   from /tmp/pip-build-WbJa3a/pandas/.eggs/numpy-1.13.0-py2.7-linux-x86_64.egg/numpy/core/include/numpy/arrayobject.h:4,
                   from pandas/_libs/lib.c:435:
  /tmp/pip-build-WbJa3a/pandas/.eggs/numpy-1.13.0-py2.7-linux-x86_64.egg/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]

Mungkin coba laporkan pelacak masalah pip. Mungkin ada yang salah dengan setup.py kami tetapi bug pip atau setuptools tampaknya lebih mungkin terjadi.

@rvernica apakah ada alasan khusus mengapa Anda membuat panda dari sumber, alih-alih mengunduh dan memasang roda? Karena dengan roda, saya pikir itu harus dipasang tanpa masalah.

Ah saya tidak melihat bahwa versi pip setua itu. Itu mungkin sudah diperbaiki.

@jorisvandenbossche Saya hanya melakukan pip install , pip memilih untuk membangunnya dari sumber mungkin karena tidak ada roda.

Saya mencoba memutakhirkan pip terlebih dahulu:

/ # pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 1.3MB 480kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Uninstalling pip-8.1.2:
      Successfully uninstalled pip-8.1.2
Successfully installed pip-9.0.1

Tapi hasilnya sama saja, pip berhasil tapi import pandas gagal.

Pasti ada roda untuk pandas-0.20.2, jadi tidak yakin mengapa tidak mengunduhnya ..

Namun, sistem apa itu? Ini mungkin tidak kompatibel dengan persyaratan manylinux .

Tapi itu memang masalah yang sama seperti di https://github.com/pandas-dev/pandas/issues/11383 . Jadi ketika melakukan instal dari sumber, menginstal dengan pip terputus jika Anda mencoba menginstal numpy dan pandas sekaligus (dan jika Anda tidak menginstal numpy versi terbaru). Alasannya adalah bahwa pip tampaknya membangun panda di env terpisah yang menggunakan numpy terbaru, tetapi dalam env yang sebenarnya, versi numpy yang lebih lama diinstal, dan karenanya kesalahan. Solusinya lakukan saja dalam dua langkah (kemudian numpy sudah diinstal, dan ketika membangun panda, ia akan menggunakannya dan tidak mengambil yang lain).
Jadi salah satu pip baru saja rusak untuk kasus penggunaan ini, atau kami melakukan sesuatu yang salah di setup.py kami (tetapi tidak ada ahli dalam hal itu)

Masuk akal. Sistemnya adalah Alpine Linux 3.4.

@rvernica apakah Anda melaporkan ini pada pelacak masalah pip? Saya berasumsi saya akan dapat mereproduksi ini dengan opsi --no-binary , tetapi itu menurunkan versi numpy yang benar.

Tidak, saya tidak mendapat kesempatan untuk melaporkannya.

Saya berasumsi saya akan dapat mereproduksi ini dengan opsi --no-binary, tetapi itu menurunkan versi numpy yang benar.

@TomAugspurger apakah Anda menentukan versi numpy yang lebih lama? (seperti yang diperlukan untuk memicunya, misalnya pip install numpy==1.11 pandas==0.20 )

Ya, saya melakukan pip install numpy==1.11.3 pandas==0.20.2 --no-binary=':all:' --verbose ke dalam lingkungan yang bersih.

OK, saya tidak akan melaporkan hulu ini karena https://github.com/pypa/pip/issues/3691 (diimplementasikan di https://github.com/pypa/pip/pull/4144) adalah solusi yang tepat. Mari kita coba.

Mungkin saja informasi versi akan tetap diabaikan untuk langkah pembuatan, dalam hal ini kita harus melaporkannya ke pip. Saya akan membuat PR menambahkan pyproject.toml

Saya tidak yakin PEP518 akan mengubah apa pun tentang ini, karena masalahnya masih ada pada saat Anda membuat roda pandas (dengan spesifikasi numpy>0,17 dari pyproject.toml, yang akan mengunduh 1.13) yang terbaru tidak sepertinya tahu tentang versi numpy yang tepat yang diinstal pada saat yang sama (dan karenanya bisa lebih tua dari yang digunakan pada langkah pembuatan roda)

Haruskah kita benar-benar menyematkan versi numpy ke versi tertua yang didukung dalam sistem build yang dibutuhkan? (apa yang dalam praktiknya kami lakukan saat membuat roda untuk didistribusikan?) Karena ini dilakukan di lingkungan yang terisolasi, seharusnya tidak memengaruhi lingkungan Anda yang sebenarnya

Masih mengalami masalah, ada solusi?

Apakah Anda membaca komentar di atas? Coba instal numpy dan pandas dalam dua langkah terpisah. Dan jika tidak, Anda perlu memberikan lebih banyak detail tentang masalah spesifik yang Anda miliki.

Hai,
Saya telah menginstal secara manual juga (catatan: versi yang sudah sama saja), dengan menggunakan "pip install numpy==1.12.0 pandas==0.21.0"

Meskipun setelah, saat melakukan python -c "import pandas" mendapatkan kesalahan sebagai

"ekstensi C dulu.".format(modul))
ImportError: Ekstensi C: numpy.core.multiarray gagal mengimpor tidak dibuat. Jika Anda ingin mengimpor panda dari direktori sumber, Anda mungkin perlu menjalankan 'python setup.py build_ext --inplace --force' untuk membuat ekstensi C terlebih dahulu.

Seperti yang saya katakan di atas dan silakan baca komentar di atas, jika masalah yang sama Anda perlu menginstalnya secara terpisah, jadi pip install numpy=1.12.0 dan kemudian pip install pandas=0.21.0

@jorisvandenbossche saya telah menginstal secara terpisah, masih kesalahan yang sama. Saya melakukan sebaliknya. Saya telah mengkloning panda di direktori terpisah dan menginstal panda, di mana saya dapat melakukan impor panda, tetapi ketika saya melakukan hal yang sama dari direktori luar, itu selalu mencari jalur direktori sumber untuk dijalankan

sudo pip install numpy==1.12.0
Persyaratan sudah terpenuhi: numpy==1.12.0 di /usr/local/lib/python2.7/dist-packages
ubuntu @ocata :~/devstack$ sudo pip install pandas==0.21.0
Persyaratan sudah terpenuhi: pandas==0.21.0 di /usr/local/lib/python2.7/dist-packages
Persyaratan sudah terpenuhi: pytz>=2011k di /usr/local/lib/python2.7/dist-packages (dari pandas==0.21.0)
Persyaratan sudah terpenuhi: numpy>=1.9.0 di /usr/local/lib/python2.7/dist-packages (dari pandas==0.21.0)
Persyaratan sudah terpenuhi: python-dateutil di /usr/local/lib/python2.7/dist-packages (dari pandas==0.21.0)
Persyaratan sudah terpenuhi: enam>=1.5 di /usr/local/lib/python2.7/dist-packages (dari python-dateutil->pandas==0.21.0)
ubuntu@ocata :~/devstack$ python -c "impor pandas"
RuntimeError: modul dikompilasi terhadap API versi 0xb tetapi versi numpy ini adalah 0xa
Traceback (panggilan terakhir terakhir):
berkas "", baris 1, di
File "/usr/local/lib/python2.7/dist-packages/pandas/__init__.py", baris 35, di
"ekstensi C dulu.".format(modul))
ImportError: Ekstensi C: numpy.core.multiarray gagal mengimpor tidak dibuat. Jika Anda ingin mengimpor panda dari direktori sumber, Anda mungkin perlu menjalankan 'python setup.py build_ext --inplace --force' untuk membuat ekstensi C terlebih dahulu.

Anda perlu memberikan informasi yang lebih detail. Misalnya output konsol lengkap dari berbagai langkah yang Anda lakukan, idealnya dengan beberapa opsi verbose, beberapa info tentang lingkungan (OS mana, versi python, ...), mengapa Anda menginstal dari sumber dan bukan roda, ...

Python 2.7.12
OS: ubuntu 16.04 xenial

Saya perlu menginstal gnocchi, sesuai http://gnocchi.xyz/install.html#installation -using-devstack, setelah menambahkan plugin, jalankan ./stack.sh, di mana instalasi gnocchi https://github.com/gnocchixyz/ gnocchi memiliki dependensi panda, ketika mencoba menginstal/mengimpor panda mendapatkan kesalahan

Di sini dependensi file gnocchi panda https://github.com/gnocchixyz/gnocchi/blob/ffbb446f3f12d637a6ff45b3eb522191638e8be0/tools/duration_perf_analyse.py#L37

Dengan cara lain, anggap saja saya perlu menginstal panda, saya harus mengkloning di direktori terpisah dan menggunakan modul mereka, jika saya menginstal di satu direktori dan mencoba mengimpor dari direktori luar, itu tidak diidentifikasi, di mana saya bisa dapat impor modul yang semuanya di bawah /python/dist-packages/ di mana saja tidak relevan dengan direktori sumber

sudo pip instal panda
Persyaratan sudah terpenuhi: panda di /usr/local/lib/python2.7/dist-packages
Persyaratan sudah terpenuhi: pytz>=2011k di /usr/local/lib/python2.7/dist-packages (dari pandas)
Persyaratan sudah terpenuhi: numpy>=1.9.0 di /usr/local/lib/python2.7/dist-packages (dari pandas)
Persyaratan sudah terpenuhi: python-dateutil di /usr/local/lib/python2.7/dist-packages (dari pandas)
Persyaratan sudah terpenuhi: enam>=1.5 di /usr/local/lib/python2.7/dist-packages (dari python-dateutil->pandas)
ubuntu@ocata :/usr/local/lib/python2.7/dist-packages$ python -c "impor pandas"
RuntimeError: modul dikompilasi terhadap API versi 0xb tetapi versi numpy ini adalah 0xa
Traceback (panggilan terakhir terakhir):
berkas "", baris 1, di
File "pandas/__init__.py", baris 35, di
"ekstensi C dulu.".format(modul))
ImportError: Ekstensi C: numpy.core.multiarray gagal mengimpor tidak dibuat. Jika Anda ingin mengimpor panda dari direktori sumber, Anda mungkin perlu menjalankan 'python setup.py build_ext --inplace --force' untuk membuat ekstensi C terlebih dahulu.

@jorisvandenbossche beri tahu saya detail yang diperlukan jika ada

Keluaran log terakhir mengatakan "Persyaratan sudah terpenuhi: panda", jadi Anda sebenarnya tidak menginstalnya.
Selanjutnya, pastikan bahwa pip mereferensikan python yang sama (mis. do python -m pip ), dan mengapa Anda mengimpor panda dari dist-packages?

@jorisvandenbossche s "Persyaratan sudah terpenuhi: pandas" - Karena saya telah menginstal secara terpisah seperti yang Anda katakan, ketika saya mencoba melakukannya lagi, pasti akan muncul seperti itu.

mengapa Anda mengimpor panda dari paket dist? ->> Saya mencoba dari mana-mana, itu tidak berjalan.

Beri tahu saya cara menginstal panda di ubuntu 16.04 di mana python adalah 2.7.

sampai sekarang di mesin baru yang telah saya instal

pip install numpy==1.12.0 dan kemudian pip install pandas==0.21.0,

setelah instalasi, mendapatkan kesalahan yang sama

pip install numpy==1.12.0 dan kemudian pip install pandas==0.21.0, setelah instalasi, mendapatkan kesalahan yang sama

kemudian tunjukkan log lengkapnya (dan bukan log yang sebenarnya tidak menginstal apa pun, Anda perlu melakukan ini dari lingkungan baru di mana numpy dan pandas belum diinstal)

@jorisvandenbossche di sini di instalasi mesin baru

sudo pip instal panda
Mengumpulkan panda
Menggunakan pandas-0.21.0-cp27-cp27mu-manylinux1_x86_64.whl yang di-cache
Persyaratan sudah terpenuhi: pytz>=2011k di /usr/local/lib/python2.7/dist-packages (dari pandas)
Persyaratan sudah terpenuhi: numpy>=1.9.0 di /usr/lib/python2.7/dist-packages (dari pandas)
Persyaratan sudah terpenuhi: python-dateutil di /usr/local/lib/python2.7/dist-packages (dari pandas)
Persyaratan sudah terpenuhi: enam>=1.5 di /usr/local/lib/python2.7/dist-packages (dari python-dateutil->pandas)
Menginstal paket yang dikumpulkan: pandas
Berhasil menginstal pandas-0.21.0

ubuntu@ocata :~$ Sudo pip install numpy
Persyaratan sudah terpenuhi: numpy di /usr/lib/python2.7/dist-packages

ubuntu@ocata :~$ python -c "impor panda"
RuntimeError: modul dikompilasi terhadap API versi 0xb tetapi versi numpy ini adalah 0xa
Traceback (panggilan terakhir terakhir):
berkas "", baris 1, di
File "/usr/local/lib/python2.7/dist-packages/pandas/__init__.py", baris 35, di
"ekstensi C dulu.".format(modul))
ImportError: Ekstensi C: numpy.core.multiarray gagal mengimpor tidak dibuat. Jika Anda ingin mengimpor panda dari direktori sumber, Anda mungkin perlu menjalankan 'python setup.py build_ext --inplace --force' untuk membuat ekstensi C terlebih dahulu.

Anda harus menginstal numpy sebelum pandas (walaupun dalam hal ini tidak masalah, karena numpy tidak menginstal sendiri karena sudah diinstal). Bisakah Anda menunjukkan hal yang sama tetapi dengan menginstal numpy dan pandas (dan numpy terlebih dahulu)?
BTW, apakah mengimpor numpy berfungsi?

@jorisvandenbossche menginstal numpy terlebih dahulu berfungsi dengan baik untuk mengimpor, menginstal panda dan mengimpor baik-baik saja, tetapi saat melakukan ./stack.sh sesuai gnocchi, impor panda adalah kesalahan di mana impor numpy baik-baik saja

sudo python mungkin berbeda dari python . Gunakan python -m pip install ... , dan hanya gunakan sudo jika perlu.

@TomAugspurger saya belum menggabungkan keduanya, saya telah menginstal panda menggunakan pip install tidak ada masalah dalam instalasi,

Berikut pertanyaan saya; apakah numpy=1.12.0 kompatibel dengan pandas=0.21.0

atau apa yang kompatibel?

Saya telah mencoba numpy terbaru dan panda terbaru. masih tidak berfungsi, apakah ada masalah kompatibilitas? atau versi numpy & panda terbaik yang kompatibel?

@maestropandy lihat jalur Anda:

sudo pip install pandas
Collecting pandas
Using cached pandas-0.21.0-cp27-cp27mu-manylinux1_x86_64.whl
Requirement already satisfied: pytz>=2011k in /usr/local/lib/python2.7/dist-packages (from pandas)
ubuntu<strong i="9">@ocata</strong>:~$ sudo pip install numpy
Requirement already satisfied: numpy in /usr/lib/python2.7/dist-packages

Yang pertama adalah /usr/local/lib , yang kedua adalah /usr/lib , jadi ada sesuatu yang tidak beres. Pengecualian Anda berasal dari python di usr/local/lib .

@TomAugspurger Apakah "sudo python -m pip install numpy" akan diinstal di /usr/local/lib/ ? Akan mencoba.

Beri tahu saya juga apakah ada masalah kompatibilitas dengan numpy & pandas, karena saya telah menginstal numpy>=1.9.0 & pandas>=0.18.0 yang berarti versi terbaru numpy dan pandas, tetapi tampaknya kompatibel?

Beri tahu saya juga apakah ada masalah kompatibilitas dengan numpy & pandas,

Tidak ada ketidakcocokan antara versi yang Anda sebutkan secara umum. Masalahnya adalah bagaimana Anda menginstal keduanya.

Ada masalah dengan versi panda baru.. jadi sampai masalah teratasi, gunakan pip install pandas==0.20.2

@abhishekg2389 dapatkah Anda memberikan info lebih lanjut? Jika ada masalah dengan file build kami, kami ingin tahu.

Saya melihat masalah serupa (sama?) di bawah Fedora 25.

$ python --version
Python 2.7.13
$ which python
/usr/bin/python



md5-c7b975f7c1ac4eb89f5fe68ce1d09cd7



$ sudo pip install pandas
[sudo] password for .....:
Requirement already satisfied: pandas in /usr/lib64/python2.7/site-packages
Requirement already satisfied: pytz>=2011k in /usr/lib/python2.7/site-packages (from pandas)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/site-packages (from pandas)
Requirement already satisfied: numpy>=1.9.0 in /usr/lib64/python2.7/site-packages (from pandas)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil->pandas)

$ sudo pip install numpy
Requirement already satisfied: numpy in /usr/lib64/python2.7/site-packages



md5-79f115fb1bb7ca0fecb38162c5f341da



$ python testPandas.py 
RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
Traceback (most recent call last):
  File "runProphet.py", line 1, in <module>
    import pandas as pd
  File "/usr/lib64/python2.7/site-packages/pandas/__init__.py", line 35, in <module>
    "the C extensions first.".format(module))
ImportError: C extension: numpy.core.multiarray failed to import not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.



md5-fca2a04366ebb14ff185882c94092f99



$ sudo pip install pandas==0.20.2
[sudo] password for jbooker: 
Collecting pandas==0.20.2
  Downloading pandas-0.20.2-cp27-cp27mu-manylinux1_x86_64.whl (22.4MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 22.4MB 79kB/s 
Requirement already satisfied: pytz>=2011k in /usr/lib/python2.7/site-packages (from pandas==0.20.2)
Requirement already satisfied: numpy>=1.7.0 in /usr/lib64/python2.7/site-packages (from pandas==0.20.2)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/site-packages (from pandas==0.20.2)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil->pandas==0.20.2)
Installing collected packages: pandas
  Found existing installation: pandas 0.21.0
    Uninstalling pandas-0.21.0:
      Successfully uninstalled pandas-0.21.0
Successfully installed pandas-0.20.2

Versi numpy apa yang diinstal? Dan dapatkah Anda menunjukkan output dari menginstal pandas 0.21.0? (yang Anda tunjukkan tidak benar-benar menginstal, karena sudah diinstal pada saat itu)

$ pip show numpy
Name: numpy
Version: 1.11.2
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: [email protected]
License: BSD
Location: /usr/lib64/python2.7/site-packages

Sepertinya saya tidak memiliki output dari menginstal pandas 0.21.0. Sepertinya sudah terinstal di sistem saya (??). Saya tidak melihat paket RPM, jadi paket itu tidak diinstal melalui paket sistem yum/dnf.

Saya mencoba menginstal paket Nabi Facebook (memiliki ketergantungan pada Pandas dan Numpy), dan dicatat bahwa pandas 0.18.1 sudah diinstal. Menarik bahwa itu 0.18.1 dan bukan 0.21.0.

$ sudo pip install fbprophet
Collecting fbprophet
  Using cached fbprophet-0.2.1.tar.gz
Requirement already satisfied: matplotlib in /usr/lib64/python2.7/site-packages (from fbprophet)
Requirement already satisfied: pandas>=0.18.1 in /usr/lib64/python2.7/site-packages (from fbprophet)
Requirement already satisfied: pystan>=2.14 in /usr/lib64/python2.7/site-packages (from fbprophet)
Requirement already satisfied: cycler>=0.10 in /usr/lib/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: subprocess32 in /usr/lib64/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: pytz in /usr/lib/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: six>=1.10 in /usr/lib/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: backports.functools-lru-cache in /usr/lib/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/lib/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: numpy>=1.7.1 in /usr/lib64/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: python-dateutil>=2.0 in /usr/lib/python2.7/site-packages (from matplotlib->fbprophet)
Requirement already satisfied: Cython!=0.25.1,>=0.22 in /usr/lib64/python2.7/site-packages (from pystan>=2.14->fbprophet)
Installing collected packages: fbprophet
  Running setup.py install for fbprophet ... done
Successfully installed fbprophet-0.2.1

Tanpa mengetahui bagaimana panda dipasang, sulit untuk membantu. Apakah Anda ingin memutakhirkan panda lagi ke 0.21.0 untuk melihat apakah itu berfungsi dan mencatat hasilnya?

Menarik bahwa itu 0.18.1 dan bukan 0.21.0.

Hanya tertulis >=0.18.1, jadi bisa jadi 0.21.0

Benar. Saya melewatkan '>='.. hanya saja memenuhi persyaratan, bukan versi spesifik.

Mencoba memutakhirkan ke 0.21.0 lagi, yang menciptakan kembali kesalahan pada impor (instalasi berfungsi dengan baik):

$ sudo pip install pandas==0.21.0
[sudo] password for jbooker: 
Collecting pandas==0.21.0
  Using cached pandas-0.21.0-cp27-cp27mu-manylinux1_x86_64.whl
Requirement already satisfied: pytz>=2011k in /usr/lib/python2.7/site-packages (from pandas==0.21.0)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/site-packages (from pandas==0.21.0)
Requirement already satisfied: numpy>=1.9.0 in /usr/lib64/python2.7/site-packages (from pandas==0.21.0)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil->pandas==0.21.0)
Installing collected packages: pandas
  Found existing installation: pandas 0.20.2
    Uninstalling pandas-0.20.2:
      Successfully uninstalled pandas-0.20.2
Successfully installed pandas-0.21.0

Skrip tes:

import pandas as pd
import numpy as np

print "Hello, world."

Menampilkan kesalahan lagi:

$ python testPandas.py 
RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
Traceback (most recent call last):
  File "runProphet.py", line 1, in <module>
    import pandas as pd
  File "/usr/lib64/python2.7/site-packages/pandas/__init__.py", line 35, in <module>
    "the C extensions first.".format(module))
ImportError: C extension: numpy.core.multiarray failed to import not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.

Menurunkan versi ke 0.20.2 berfungsi dengan baik, dan skrip pengujian berjalan dengan sukses setelah melakukannya.

Adakah hal lain yang bisa saya lakukan untuk membantu mempersempit ini?

OK, saya benar-benar dapat mereproduksi ini. Terima kasih atas laporannya!
Membuka kembali masalah ini, tetapi sebagai yang baru (karena masalah asli di sini adalah sesuatu yang lain, dibuat dari sumber)

@jlbooker membuka masalah untuk melacak ini di sini: https://github.com/pandas-dev/pandas/issues/18530
Semoga kita bisa cepat memperbaikinya

bagi saya masalah ini telah diselesaikan dengan menghapus dan menginstal ulang panda dengan sendirinya

Apakah halaman ini membantu?
0 / 5 - 0 peringkat