Pandas: استيراد فواصل الباندا بعد تركيب الباندا بالنقطة بنجاح

تم إنشاؤها على ١٦ يونيو ٢٠١٧  ·  46تعليقات  ·  مصدر: pandas-dev/pandas

نموذج التعليمات البرمجية ، مثال يمكن نسخه ولصقه إن أمكن

> 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.

وصف المشكلة

نجح تثبيت Pandas باستخدام pip ، لكن فواصل import pandas .

إذا قمت بإصدار أمرين منفصلين pip install ، أحدهما لـ numpy والآخر لـ pandas ، فإنه يعمل:

> 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"

التعليق الأكثر فائدة

فتح jlbooker مشكلة لتتبع ذلك هنا: https://github.com/pandas-dev/pandas/issues/18530
نأمل أن نتمكن من إصلاح هذا بسرعة

ال 46 كومينتر

تبدو مشابهة جدًا لـ https://github.com/pandas-dev/pandas/issues/11383#issuecomment -294242777

هل يمكنك تجربة الوضع المطول لمعرفة ما هو إصدار numpy it pip عند القيام بذلك في نفس الوقت؟

يبدو أنه يلتقط 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]

ربما حاول الإبلاغ عن تعقب مشكلة النقطة بعد ذلك. من المحتمل أن يكون هناك خطأ ما في ملف setup.py الخاص بنا ، ولكن يبدو أن احتمال وجود خطأ في نقطة أو أدوات setuptools.

rvernica هل هناك سبب محدد وراء قيامك ببناء الباندا من المصدر ، بدلاً من تنزيل العجلة وتثبيتها؟ لأنه مع العجلة ، يجب أن يتم تثبيتها دون مشاكل على ما أعتقد.

آه ، لم أكن أرى أن إصدار النقطة كان قديمًا إلى هذا الحد. قد يكون قد تم إصلاحه بالفعل بعد ذلك.

jorisvandenbossche أنا فقط أقوم بعمل pip install ، اختار pip لبنائه من المصدر ربما بسبب عدم وجود عجلة.

حاولت ترقية pip أولاً:

/ # 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

ولكن النتيجة هي نفسها، pip ينجح ولكن import pandas فشل.

بالتأكيد يجب أن تكون هناك عجلة لـ pandas-0.20.2 ، لذا لست متأكدًا من سبب عدم تنزيلها ..

ومع ذلك ، ما هو النظام؟ ربما لا يتوافق مع متطلبات manylinux .

لكنها بالفعل نفس المشكلة كما في https://github.com/pandas-dev/pandas/issues/11383. لذلك عند إجراء التثبيت من المصدر ، فإن التثبيت باستخدام pip فواصل إذا حاولت تثبيت numpy و pandas دفعة واحدة (وإذا كنت لا تقوم بتثبيت أحدث إصدار من numpy). والسبب هو أن النقطة تبدو وكأنها تبني حيوانات الباندا في بيئة منفصلة تستخدم من أجلها أحدث numpy ، ولكن في الواقع الفعلي ، تم تثبيت نسخة قديمة من numpy ، وبالتالي الأخطاء. الحل هو القيام بذلك في خطوتين (ثم تم تثبيت numpy بالفعل ، وعند بناء الباندا سيستخدم ذلك ولن يجلب واحدًا آخر).
لذلك إما أن تكون النقطة معطلة لحالة الاستخدام هذه ، أو أننا نفعل شيئًا خاطئًا في إعدادنا py (لكن لا يوجد خبير في ذلك)

من المنطقي. النظام هو Alpine Linux 3.4.

rvernica هل --no-binary ، لكن هذا أدى إلى سحب الإصدار الصحيح الخالي من الورق.

لا ، لم تتح لي الفرصة للإبلاغ عن ذلك.

افترضت أنني سأكون قادرًا على إعادة إنتاج هذا باستخدام الخيار - no-binary ، لكن هذا أدى إلى سحب الإصدار الصحيح من numpy.

TomAugspurger هل حددت نسخة قديمة من numpy؟ (حيث أن ذلك ضروري لتشغيله ، على سبيل المثال pip install numpy==1.11 pandas==0.20 )

نعم ، لقد قمت بعمل pip install numpy==1.11.3 pandas==0.20.2 --no-binary=':all:' --verbose في بيئة نظيفة.

حسنًا ، لن أبلغ عن هذا المنبع لأن https://github.com/pypa/pip/issues/3691 (تم تنفيذه في https://github.com/pypa/pip/pull/4144) هو الحل الصحيح. دعونا نعطي هذه فرصة.

من المحتمل استمرار تجاهل معلومات الإصدار لخطوة الإنشاء ، وفي هذه الحالة يجب علينا إبلاغ النقطة. سأقوم بعمل PR بإضافة pyproject.toml

لست متأكدًا من أن PEP518 سيغير أي شيء بخصوص هذا الأمر ، لأن المشكلة لا تزال قائمة في الوقت الحالي الذي تقوم فيه ببناء عجلة الباندا (مع مواصفات numpy> 0.17 من pyproject.toml ، والتي ستنزل أحدث 1.13) فهي لا تفعل ذلك يبدو أنه يعرف الإصدار الدقيق الذي تم تثبيته في نفس الوقت (وبالتالي يمكن أن يكون أقدم من الإصدار المستخدم في خطوة بناء العجلة)

هل يجب أن نثبِّت بالفعل الإصدار الخفي إلى أقدم نسخة مدعومة في نظام البناء الذي يتطلبه؟ (ما الذي نفعله عمليًا عند بناء عجلات للتوزيع؟) نظرًا لأن هذا يتم في بيئة معزولة ، فلا ينبغي أن يؤثر على بيئتك الفعلية

لا تزال تواجه مشاكل ، أي حل؟

هل قرأت التعليقات أعلاه؟ حاول تثبيت numpy و pandas في خطوتين منفصلتين. وبخلاف ذلك ، سوف تحتاج إلى تقديم المزيد من التفاصيل حول المشكلة المحددة التي تواجهها.

مرحبا،
لقد قمت بالتثبيت يدويًا أيضًا (ملاحظة: بالفعل نفس الإصدار فقط) ، باستخدام "تثبيت النقطة numpy == 1.12.0 pandas == 0.21.0"

على الرغم من أنه بعد ذلك ، أثناء إجراء "استيراد الباندا" من لغة python -c ، تحصل على خطأ مثل

"امتدادات C أولاً." تنسيق (وحدة))
خطأ في الاستيراد: امتداد C: فشل استيراد numpy.core.multiarray غير مبني. إذا كنت تريد استيراد حيوانات الباندا من دليل المصدر ، فقد تحتاج إلى تشغيل "python setup.py build_ext --inplace --force" لإنشاء امتدادات C أولاً.

كما قلت أعلاه ويرجى قراءة التعليقات أعلاه ، إذا كانت هي نفس المشكلة ، فأنت بحاجة إلى تثبيتها بشكل منفصل ، لذلك pip install numpy=1.12.0 ثم pip install pandas=0.21.0

jorisvandenbossche لقد قمت بتثبيت منفصلة ، لا يزال نفس الخطأ. فعلت بطريقة أخرى. لقد قمت باستنساخ حيوانات الباندا في دليل منفصل وقمت بتثبيت حيوانات الباندا ، حيث يمكنني استيراد الباندا ، ولكن عندما أفعل الشيء نفسه من الدليل الخارجي ، فإنه ليس كذلك ، فقد كان يبحث دائمًا عن مسار دليل المصدر لتشغيله

تثبيت sudo pip numpy == 1.12.0
تم تلبية المتطلبات بالفعل: numpy == 1.12.0 في /usr/local/lib/python2.7/dist-packages
ubuntuocata : ~ / devstack $ sudo pip install pandas == 0.21.0
تم تلبية المتطلبات بالفعل: الباندا == 0.21.0 في /usr/local/lib/python2.7/dist-packages
المتطلبات مستوفاة بالفعل: pytz> = 2011k في /usr/local/lib/python2.7/dist-packages (من الباندا == 0.21.0)
المتطلبات مستوفاة بالفعل: numpy> = 1.9.0 in /usr/local/lib/python2.7/dist-packages (من الباندا == 0.21.0)
المتطلبات مستوفاة بالفعل: python-dateutil في /usr/local/lib/python2.7/dist-packages (من الباندا == 0.21.0)
المتطلبات مستوفاة بالفعل: ستة> = 1.5 في /usr/local/lib/python2.7/dist-packages (من python-dateutil-> pandas == 0.21.0)
ubuntu @ ocata : ~ / devstack $ python -c "استيراد الباندا"
RuntimeError: تم تجميع الوحدة النمطية مقابل إصدار API 0xb ولكن هذا الإصدار من numpy هو 0xa
Traceback (آخر مكالمة أخيرة):
ملف ""، السطر 1 ، في
ملف "/usr/local/lib/python2.7/dist-packages/pandas/__init__.py" ، السطر 35 ، في
"امتدادات C أولاً." تنسيق (وحدة))
خطأ في الاستيراد: امتداد C: فشل استيراد numpy.core.multiarray غير مبني. إذا كنت تريد استيراد حيوانات الباندا من دليل المصدر ، فقد تحتاج إلى تشغيل "python setup.py build_ext --inplace --force" لإنشاء امتدادات C أولاً.

تحتاج إلى إعطاء معلومات أكثر تفصيلاً. على سبيل المثال ، إخراج وحدة التحكم الكامل للخطوات المختلفة التي قمت بها ، بشكل مثالي مع بعض الخيارات المطولة ، وبعض المعلومات حول البيئة (أي نظام تشغيل ، وإصدار بيثون ، ...) ، ولماذا تقوم بالتثبيت من المصدر وليس من العجلات ، ...

بايثون 2.7.12
نظام التشغيل: ubuntu 16.04 xenial

أحتاج إلى تثبيت gnocchi ، وفقًا لـ http://gnocchi.xyz/install.html#installation -using-devstack ، بعد إضافة البرنامج المساعد ، ركض ./stack.sh ، حيث تثبيت gnocchi https://github.com/gnocchixyz/ يحتوي

هنا تبعيات ملف gnocchi للباندا https://github.com/gnocchixyz/gnocchi/blob/ffbb446f3f12d637a6ff45b3eb522191638e8be0/tools/duration_perf_analyse.py#L37

بطريقة أخرى ، افترض فقط أنني بحاجة إلى تثبيت الباندا ، ولا بد لي من استنساخ دليل منفصل واستخدام الوحدات النمطية الخاصة بهم ، إذا قمت بالتثبيت في دليل واحد وحاولت الاستيراد من دليل خارجي ، فلن يتم التعرف عليه ، حيث يمكنني ذلك وحدات الاستيراد التي تكون جميعها ضمن حزم / python / dist / في أي مكان غير ذي صلة بدليل المصدر

sudo pip تثبيت الباندا
تم تلبية المتطلبات بالفعل: الباندا في /usr/local/lib/python2.7/dist-packages
المتطلبات مستوفاة بالفعل: pytz> = 2011k في /usr/local/lib/python2.7/dist-packages (من الباندا)
المتطلبات مستوفاة بالفعل: numpy> = 1.9.0 في /usr/local/lib/python2.7/dist-packages (من الباندا)
المتطلبات مستوفاة بالفعل: python-dateutil في /usr/local/lib/python2.7/dist-packages (من الباندا)
المتطلبات مستوفاة بالفعل: ستة> = 1.5 في /usr/local/lib/python2.7/dist-packages (من python-dateutil-> pandas)
ubuntu @ ocata : /usr/local/lib/python2.7/dist-packages$ python -c "استيراد الباندا"
RuntimeError: تم تجميع الوحدة النمطية مقابل إصدار API 0xb ولكن هذا الإصدار من numpy هو 0xa
Traceback (آخر مكالمة أخيرة):
ملف ""، السطر 1 ، في
ملف "pandas / __ init__.py" ، السطر 35 ، بتنسيق
"امتدادات C أولاً." تنسيق (وحدة))
خطأ في الاستيراد: امتداد C: فشل استيراد numpy.core.multiarray غير مبني. إذا كنت تريد استيراد حيوانات الباندا من دليل المصدر ، فقد تحتاج إلى تشغيل "python setup.py build_ext --inplace --force" لإنشاء امتدادات C أولاً.

jorisvandenbossche اسمحوا لي أن أعرف التفاصيل المطلوبة إن وجدت

يقول آخر إخراج للسجل "لقد تم تلبية المتطلبات بالفعل: الباندا" ، لذا فأنت لا تقوم بتثبيته بالفعل.
علاوة على ذلك ، تأكد من أن النقطة تشير إلى نفس لغة python (على سبيل المثال python -m pip ) ، ولماذا تقوم باستيراد الباندا من حزم التوزيع؟

jorisvandenbossche s "المتطلبات مستوفاة بالفعل: الباندا" - لأنني قمت بالتثبيت بشكل منفصل كما قلت ، عندما أحاول القيام بذلك مرة أخرى ، بالتأكيد سيظهر هكذا.

لماذا تستورد الباندا من عبوات التوزيع؟ - >> حاولت من كل مكان ، إنها لا تعمل.

اسمحوا لي أن أعرف كيفية تثبيت الباندا في ubuntu 16.04 حيث يكون python 2.7.

اعتبارًا من الآن في الجهاز الجديد الذي قمت بتثبيته

عدد نقاط التثبيت == 1.12.0 ثم تثبيت نقطة الباندا == 0.21.0 ،

بعد التثبيت ، تحصل على نفس الخطأ

تثبيت النقطة numpy == 1.12.0 ثم تثبيت النقطة pandas == 0.21.0 ، بعد التثبيت ، الحصول على نفس الخطأ

ثم اعرض السجل الكامل لذلك (وليس السجل الذي لا يقوم بتثبيت أي شيء فعليًا ، فأنت بحاجة إلى القيام بذلك من بيئة جديدة حيث لم يتم تثبيت numpy و pandas بعد)

jorisvandenbossche هنا في تركيب آلة جديدة

sudo pip تثبيت الباندا
جمع الباندا
استخدام الباندا المخزنة مؤقتًا-0.21.0-cp27-cp27mu-manylinux1_x86_64.whl
المتطلبات مستوفاة بالفعل: pytz> = 2011k في /usr/local/lib/python2.7/dist-packages (من الباندا)
المتطلبات مستوفاة بالفعل: numpy> = 1.9.0 in /usr/lib/python2.7/dist-packages (من الباندا)
المتطلبات مستوفاة بالفعل: python-dateutil في /usr/local/lib/python2.7/dist-packages (من الباندا)
المتطلبات مستوفاة بالفعل: ستة> = 1.5 في /usr/local/lib/python2.7/dist-packages (من python-dateutil-> pandas)
تركيب العبوات المجمعة: الباندا
تم تثبيت pandas-0.21.0 بنجاح

ubuntu @ ocata : ~ $ sudo pip install numpy
تم تلبية المتطلبات بالفعل: numpy في /usr/lib/python2.7/dist-packages

ubuntu @ ocata : ~ $ python -c "استيراد الباندا"
RuntimeError: تم تجميع الوحدة النمطية مقابل إصدار API 0xb ولكن هذا الإصدار من numpy هو 0xa
Traceback (آخر مكالمة أخيرة):
ملف ""، السطر 1 ، في
ملف "/usr/local/lib/python2.7/dist-packages/pandas/__init__.py" ، السطر 35 ، في
"امتدادات C أولاً." تنسيق (وحدة))
خطأ في الاستيراد: امتداد C: فشل استيراد numpy.core.multiarray غير مبني. إذا كنت تريد استيراد حيوانات الباندا من دليل المصدر ، فقد تحتاج إلى تشغيل "python setup.py build_ext --inplace --force" لإنشاء امتدادات C أولاً.

يجب عليك تثبيت numpy قبل pandas (على الرغم من أنه في هذه الحالة لن يكون مهمًا ، لأن numpy لم يثبت نفسه لأنه تم تثبيته بالفعل). هل يمكنك إظهار نفس الشيء ولكن مع تثبيت كل من numpy و pandas حديثًا (و numpy أولاً)؟
راجع للشغل ، هل يعمل استيراد numpy؟

قامjorisvandenbossche بتثبيت numpy أولاً ، إنه يعمل جيدًا لاستيراد الباندا وتثبيته والاستيراد بشكل جيد ، ولكن أثناء القيام. /stack.sh وفقًا لـ gnocchi ، استيراد الباندا خطأ حيث يكون الاستيراد numpy جيدًا

قد يكون sudo python مختلفًا عن python الخاص بك. استخدم python -m pip install ... ، واستخدم sudo إذا لزم الأمر.

TomAugspurger لم قمت بتثبيت الباندا باستخدام تثبيت نقطة لا توجد مشاكل في التثبيت ،

هنا سؤالي. ما إذا كان numpy = 1.12.0 متوافقًا مع الباندا = 0.21.0

أو ما هو متوافق؟

لقد جربت أحدث numpy وأحدث الباندا. ما زالت لا تعمل ، هل هناك أي مشكلة في التوافق؟ أو أفضل إصدار متوافق مع numpy & pandas؟

maestropandy انظر إلى

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

الأول هو /usr/local/lib ، والثاني هو /usr/lib ، لذلك هناك شيء ما هناك. يأتي الاستثناء الخاص بك من الثعبان في usr/local/lib .

TomAugspurger هل سيتم تثبيت "sudo python -m pip install numpy" في / usr / local / lib /؟ سوف نحاول.

اسمحوا لي أيضًا أن أعرف هل هناك أي مشكلة تتعلق بالتوافق مع numpy & pandas ، لأنني قمت بتثبيت numpy> = 1.9.0 & pandas> = 0.18.0 مما يعني أحدث إصدارات numpy و pandas ، ولكن يبدو أنه متوافق؟

اسمحوا لي أيضًا أن أعرف ما إذا كانت هناك أي مشكلة تتعلق بالتوافق مع Numpy & pandas ،

لا يوجد أي تعارض بين تلك الإصدارات التي ذكرتها بشكل عام. المشكلة هي كيفية تثبيت كليهما.

توجد مشكلة في إصدار الباندا الجديد .. لذا حتى يتم إصلاح المشكلة ، استخدم pip install pandas==0.20.2

@ abhishekg2389 هل يمكنك تقديم المزيد من المعلومات؟ إذا كانت هناك مشكلة في ملفات الإنشاء الخاصة بنا ، فنحن نرغب في معرفتها.

أرى مشكلة مماثلة (نفس؟) في 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

ما هو إصدار numpy المثبت؟ وهل يمكنك إظهار ناتج تثبيت الباندا 0.21.0؟ (الذي تعرضه لا يتم تثبيته بالفعل ، لأنه مثبت بالفعل في تلك المرحلة)

$ 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

لا يبدو أن الإخراج من تثبيت pandas 0.21.0. يبدو أنه تم تثبيته بالفعل على نظامي (؟؟). لا أرى حزمة RPM ، لذلك لم يتم تثبيتها عبر حزم نظام yum / dnf.

كنت أحاول تثبيت حزمة نبي على Facebook (تعتمد على Pandas و Numpy) ، ولاحظت أن pandas 0.18.1 قد تم تثبيتها بالفعل. المثير للاهتمام أنه 0.18.1 وليس 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

من الصعب المساعدة دون معرفة كيفية تثبيت الباندا. هل تريد ترقية الباندا مرة أخرى إلى 0.21.0 لمعرفة ما إذا كان ذلك يعمل وتسجيل الإخراج؟

المثير للاهتمام أنه 0.18.1 وليس 0.21.0.

تقول فقط إنها> = 0.18.1 ، لذلك يمكن أن تكون 0.21.0

آه الحق. فاتني "> =" .. فقط لأنه استوفى المتطلبات ، وليس الإصدار المحدد.

حاولت الترقية إلى 0.21.0 مرة أخرى ، والتي أعادت إنشاء خطأ عند الاستيراد (على الرغم من أن التثبيت يعمل بشكل جيد):

$ 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

اختبار كتابي:

import pandas as pd
import numpy as np

print "Hello, world."

إخراج الخطأ مرة أخرى:

$ 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.

يعمل الرجوع إلى إصدار 0.20.2 بشكل جيد ، ويتم تشغيل البرنامج النصي للاختبار بنجاح بعد القيام بذلك.

أي شيء آخر يمكنني القيام به للمساعدة في تضييق هذا الأمر؟

حسنًا ، يمكنني بالفعل إعادة إنتاج هذا. شكرا على التقرير!
إعادة فتح هذه المشكلة ، ولكن كقضية جديدة (حيث كانت المشكلة الأصلية هنا شيئًا آخر ، بناء من المصدر)

فتح jlbooker مشكلة لتتبع ذلك هنا: https://github.com/pandas-dev/pandas/issues/18530
نأمل أن نتمكن من إصلاح هذا بسرعة

بالنسبة لي ، تم حل هذه المشكلة عن طريق إلغاء تثبيت وإعادة تثبيت الباندا بنفسها

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات