Aff*_*tus 8 python performance pypy compiler-optimization pandas
我正在尝试使用PyPy运行一些代码来加速它.我的代码使用Pandas数据帧,所以我试图找到一种安装包的方法......
不幸的是,我找不到办法做到这一点...在线搜索产生这个和这个 - 两个令人失望的结果,说这是不可能的,但他们是1-2岁!
来自Romain Guillebert的这篇推文发表了一丝希望,暗示我可以使用一种名为pymetabiosis的包来做到这一点.不幸的是,当我去安装它时,我得到下面提到的错误.
知道我怎么可以调试错误或找到一些其他方式使用Pandas与PyPy?**
Collecting pymetabiosis
Using cached pymetabiosis-0.0.1.tar.gz
Complete output from command python setup.py egg_info:
pymetabiosis/__pycache__/_cffi__x771a6f66x197b9d2b.c:219:13: warning: initializing 'char **' with an expression of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
{ char * *tmp = &p->ml_name; (void)tmp; }
^ ~~~~~~~~~~~
pymetabiosis/__pycache__/_cffi__x771a6f66x197b9d2b.c:220:13: warning: incompatible pointer types initializing 'void **' with an expression of type 'PyCFunction *' (aka 'struct _object *(**)(struct _object *, struct _object *)') [-Wincompatible-pointer-types]
{ void * *tmp = &p->ml_meth; (void)tmp; }
^ ~~~~~~~~~~~
pymetabiosis/__pycache__/_cffi__x771a6f66x197b9d2b.c:222:13: warning: initializing 'char **' with an expression of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
{ char * *tmp = &p->ml_doc; (void)tmp; }
^ ~~~~~~~~~~
pymetabiosis/__pycache__/_cffi__x771a6f66x197b9d2b.c:1189:30: warning: incompatible pointer types passing 'PyObject *' (aka 'struct _object *') to parameter of type 'PyCodeObject *' [-Wincompatible-pointer-types]
{ result = PyEval_EvalCode(x0, x1, x2); }
^~
//anaconda/include/python2.7/eval.h:10:54: note: passing argument to parameter here
PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
^
pymetabiosis/__pycache__/_cffi__x771a6f66x197b9d2b.c:1857:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
{ result = PyObject_SetAttr(x0, x1, x2); }
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pymetabiosis/__pycache__/_cffi__x771a6f66x197b9d2b.c:2164:5: warning: incompatible pointer types assigning to 'PyObject *(*)(size_t, ...)' (aka 'struct _object *(*)(unsigned long, ...)') from 'PyObject *(Py_ssize_t, ...)' (aka 'struct _object *(long, ...)') [-Wincompatible-pointer-types]
i = (PyTuple_Pack);
^ ~~~~~~~~~~~~~~
6 warnings generated.
ld: warning: directory not found for option '-L//anaconda/lib
'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/t4/n42mh55n05sd6s5hgk1dzdz80000gp/T/pip-build-fSTXPd/pymetabiosis/setup.py", line 2, in <module>
from pymetabiosis.bindings import ffi
File "pymetabiosis/__init__.py", line 1, in <module>
from pymetabiosis.module import import_module
File "pymetabiosis/module.py", line 2, in <module>
from pymetabiosis.wrapper import MetabiosisWrapper
File "pymetabiosis/wrapper.py", line 3, in <module>
from __pypy__ import identity_dict
ImportError: No module named __pypy__
----------------------------------------
Command "python setup.py egg_info" failed with error code -11 in /private/var/folders/t4/n42mh55n05sd6s5hgk1dzdz80000gp/T/pip-build-fSTXPd/pymetabiosis/
Run Code Online (Sandbox Code Playgroud)
这是我所做的,假设您使用的是 Conda,但 Pip/Venv 也应该可以工作
制作一个新的 conda env
conda create --name pypy_env
conda activate pypy_env
Run Code Online (Sandbox Code Playgroud)
使用 conda 安装 pypy3
conda install pypy3
Run Code Online (Sandbox Code Playgroud)
使用此处的方法获取 pypy3 的 Pip 在 pypy 上安装 pip
使用 pypy 安装软件包
pypy3 -m pip install pandas
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2919 次 |
| 最近记录: |