bytecodealliance / bytecodealliance/componentize-py

Allow dynamic imports in sandbox example

Ouverte
#91 10 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
277
Forks
51
Merge moyen
12 h 10 min
PR mergées (30 j)
10

Description

I'd like to execute code using the sandbox example, but am running into an issue. I want to allow exec'd code to import packages, but if I don't import packages in the host script, the guest code won't run.

```python
# Guest code
import json

print(json.dumps({"message": "Hello"}))
```

```python
# Works
import sys
import json

from command import exports

class Run(exports.Run):
def run(self):
with open(sys.argv[1]) as f:
code = f.read()
exec(code)
```

```python
# Fails
import sys

from command import exports

class Run(exports.Run):
def run(self):
with open(sys.argv[1]) as f:
code = f.read()
exec(code)
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez au point d’entrée Run.run de l’exemple de sandbox, en particulier à l’endroit où il lit le code invité et appelle exec. Exécutez le programme invité montré avec et sans l’importation de json côté hôte, puis suivez le comportement de l’importation. C’est terminé lorsque le code invité peut importer json dynamiquement sans exiger que le script hôte l’importe au préalable.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
security
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.