[PYTHON] Essayez d'installer Polynote

J'ai installé un logiciel appelé "Polynote" comme Jupyter Notebook qui peut utiliser à la fois Scala et Python en même temps.

Au lieu de prendre des notes Python et des notes Scala, vous pouvez mélanger Python et Scala en une seule note!

Site officiel de Polynote Polynote | The polyglot Scala notebook

Article d'introduction sur Polynote Netflix’s Polynote is a New Open Source Framework to Build Better Data Science Notebooks | by Jesus Rodriguez | DataSeries | Aug, 2020 | Medium

Procédure d'installation

  1. Installez Python
  2. Installez Java
  3. Installez Polynote
  4. Installez le package que vous souhaitez utiliser à partir des notes Polynote
  5. Lancez Polynote

1. Installez Python

Installez Python3. Cette fois, j'ai installé 3.8.1 avec pyenv.

Lorsque j'ai installé Python normalement avec pyenv, l'erreur suivante s'est produite dans pip install -r. / Requirements.txt lors de l'installation de Polynote lui-même. Il semble que la construction du paquet jep dont Polynote dépend échoue.

    /usr/bin/ld: /home/xxxx/.pyenv/versions/3.8.1/lib/libpython3.8.a(floatobject.o): relocation R_X86_64_PC32 against symbol `PyFloat_Type' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: final link failed: bad value
    collect2: error: ld returned 1 exit status
    error: command 'gcc' failed with exit status 1

Je ne comprends pas la raison, mais j'ai pu éviter l'erreur en installant avec l'option attachée à pyenv comme suit.

$ PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -v --force 3.8.1

2. Installez Java

Installez Java 11.

La documentation officielle indique que Java prend en charge 8 et 11, mais 11 est bon.

Au début, j'ai couru à 8 ans. Cependant, bien que cela commence, je reçois beaucoup de messages d'erreur à la fois sur la ligne de commande et sur le navigateur, en particulier le framework de collecte de Scala est inutile. ʻAbstractMethodErroretNullPointerException` sont fréquents.

3. Installez Polynote

$ wget 'https://github.com/polynote/polynote/releases/download/0.3.11/polynote-dist.tar.gz'
$ tar xvzf polynote-dist.tar.gz  
$ cd polynote
$ pip install -r ./requirements.txt

4. Installez le package que vous souhaitez utiliser à partir des notes Polynote

Installez le package comme vous le souhaitez.

$ pip install matplotlib

5. Lancez Polynote

$ python ./polynote.py

[INFO]   Loading configuration from config.yml
[INFO]   Loaded configuration: PolynoteConfig(Listen(8192,127.0.0.1),KernelConfig(None,None),Storage(tmp,notebooks,Map(),Wal(false)),List(),List(),Map(),None,Behavior(true,Always,List()),Security(None,None),UI(/),Credentials(None),Map(),StaticConfig(None,None))
[WARN]   Polynote allows arbitrary remote code execution, which is necessary for a notebook tool to function.
   |     While we'll try to improve safety by adding security measures, it will never be completely safe to
   |     run Polynote on your personal computer. For example:
   |
   |     - It's possible that other websites you visit could use Polynote as an attack vector. Browsing the web
   |       while running Polynote is unsafe.
   |     - It's possible that remote attackers could use Polynote as an attack vector. Running Polynote on a
   |       computer that's accessible from the internet is unsafe.
   |     - Even running Polynote inside a container doesn't guarantee safety, as there will always be
   |       privilege escalation and container escape vulnerabilities which an attacker could leverage.
   |
   |     Please be diligent about checking for new releases, as they could contain fixes for critical security
   |     flaws.
   |
   |     Please be mindful of the security issues that Polynote causes; consult your company's security team
   |     before running Polynote. You are solely responsible for any breach, loss, or damage caused by running
   |     this software insecurely.
[INFO]
   |       _____      _                   _
   |      |  __ \    | |                 | |
   |      | |__) |__ | |_   _ _ __   ___ | |_ ___
   |      |  ___/ _ \| | | | | '_ \ / _ \| __/ _ \
   |      | |  | (_) | | |_| | | | | (_) | ||  __/
   |      |_|   \___/|_|\__, |_| |_|\___/ \__\___|
   |                     __/ |
   |                    |___/
   |
[INFO]   Polynote version 0.3.11
[INFO]   Server listening on http://localhost:8192/

Si vous accédez au port 8192 avec un navigateur, l'écran sera un peu différent de celui du bloc-notes Jupyter et vous pourrez créer des notes.

Voici un exemple d'exécution. Vous pouvez mélanger Python et Scala.

image.png

Recommended Posts

Essayez d'installer Polynote
Essayez d'installer chainer-gogh
Essayez d'installer Sonnet (Remarque)
Essayez d'installer OpenAM sur Amazon Linux
Essayez d'installer OpenCV 3.0 sur l'AMI
Installer Python 3.4.3.
Essayez Python
Essayez PyOpenGL
Essayez d'installer GeoSpark (Apache Sedona) dans un environnement Python