我正在尝试使用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 …Run Code Online (Sandbox Code Playgroud) 所以这是我的问题。我设法通过以下命令使用conda安装PyPy:
conda install -c conda-forge pypy3.5
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试创建使用此pypy3可执行文件的环境时,我找不到解决方法。如果我运行pypy3,我会得到PyPy shell没有任何问题,我也可以使用pypy3代替来运行我的程序python。
尽管现在,我希望能够使用PyPy创建完整的环境。我曾尝试过以下类似的事情:
conda create -n pypy3 python=pypy3
conda create -n pypy3 python=pypy3 -c conda-forge
Run Code Online (Sandbox Code Playgroud)
我尝试指定pypy3.5和其他变体,但没有任何效果。我可以在Miniconda安装箱中看到pypy3可执行文件,但找不到Conda使用它的方法。我在互联网上找不到很多东西,因为人们似乎只是在要求通过Conda安装PyPy,而与使用PyPy创建环境无关。
所以这是我的问题:
我不知道是否有人可以在这里提供帮助。也许解决方案已经存在,但无论如何我都找不到很多解决方案。
编辑:根据@darthbith的建议,我可以使用以下命令:
conda create -n pypy3 -c conda-forge pypy3.5
Run Code Online (Sandbox Code Playgroud)
但这并没有达到我的预期。我可以用pypy3用来获取外壳程序并执行我的Python程序,但不能将其作为常规Python版本处理。我想让PyPy像任何版本的Python一样被考虑,并能够使用pip安装软件包(大多数纯Python软件包应与PyPy一起使用)。
我知道很多人会建议我不要在这里做什么,但是我认为它只是Python的更快版本,适用于任何不依赖C库的东西。由于我正在使用纯Python库,而PyPi中的许多库都是用纯Python编写的,所以我不明白为什么我无法在这里实现我想做的事情。