Не удалось найти программу: «pypy» в Google Colab. Решение или альтернативы? - PullRequest
2 голосов
/ 14 апреля 2020

Я получаю эту ошибку в записной книжке Google Colab. Нужно ли что-то устанавливать или просто невозможно использовать pypy внутри colab? Я пробовал этот простой сценарий:

%%pypy
print("hello")

# Couldn't find program: 'pypy'

Если я запускаю %lsmagic, вывод следующий, в котором присутствует pypy.

Available line magics:
%alias  %alias_magic  %autocall  %automagic  %autosave  %bookmark  %cat  %cd  %clear  %colors  %config  %connect_info  %cp  %debug  %dhist  %dirs  %doctest_mode  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %lf  %lk  %ll  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %lx  %macro  %magic  %man  %matplotlib  %mkdir  %more  %mv  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %pip  %popd  %pprint  %precision  %profile  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %rep  %rerun  %reset  %reset_selective  %rm  %rmdir  %run  %save  %sc  %set_env  %shell  %store  %sx  %system  %tb  %tensorflow_version  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%bigquery  %%capture  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%shell  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

В конце концов, есть ли альтернативы? Я уже пробовал numba, но из-за того, что он в основном нужен для предварительной обработки данных, мне обычно нужны объекты, которые, по-видимому, не позволяют numba компилироваться в режиме без python. Поэтому я ищу что-то более гибкое, как pypy.

1 Ответ

3 голосов
/ 14 апреля 2020

Вы можете использовать pypy в Colab после установки его на ВМ Colab:

!apt-get install pypy
%%pypy
import sys
print(sys.executable)
# /usr/bin/pypy
...