J'ai récemment installé Ubuntu 14.04 sur mon ordinateur portable et installé IPython 4 via anaconda. Cependant, je ne peux ouvrir ou charger aucun bloc-notes, y compris ceux qui s'ouvrent correctement sur mon bureau. Lorsque j'essaie de charger un bloc-notes, j'obtiens l'erreur suivante : An unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.
Le terminal donne :
Unhandled error in API request
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 432, in __get__
value = obj._trait_values[self.name]
KeyError: 'db'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/base/handlers.py", line 436, in wrapper
result = yield gen.maybe_future(method(self, *args, **kwargs))
File "/home/ryan/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in run
value = future.result()
File "/home/ryan/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 215, in result
raise_exc_info(self._exc_info)
File "<string>", line 3, in raise_exc_info
File "/home/ryan/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 230, in wrapper
yielded = next(result)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/handlers.py", line 126, in get
path=path, type=type, format=format, content=content,
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py", line 350, in get
model = self._notebook_model(path, content=content)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py", line 310, in _notebook_model
self.mark_trusted_cells(nb, path)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/manager.py", line 447, in mark_trusted_cells
trusted = self.notary.check_signature(nb)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 220, in check_signature
if self.db is None:
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 439, in __get__
value = self._validate(obj, dynamic_default())
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 126, in _db_default
db = sqlite3.connect(self.db_file, **kwargs)
sqlite3.OperationalError: unable to open database file
Lorsque j'essaie de créer un nouveau bloc-notes, j'obtiens une autre erreur qui dit, Unexpected error while saving file: Dropbox/iPython Notebooks/Untitled.ipynb [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
Cela semble plus informatif, mais je suis relativement nouveau sur Linux/python/tout ça.
Le terminal donne :
Error while saving file: Dropbox/iPython Notebooks/Untitled.ipynb [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 432, in __get__
value = obj._trait_values[self.name]
KeyError: 'secret'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py", line 387, in save
self.check_and_sign(nb, path)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/manager.py", line 431, in check_and_sign
self.notary.sign(nb)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 245, in sign
signature = self.compute_signature(nb)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 195, in compute_signature
hmac = HMAC(self.secret, digestmod=self.digestmod)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 439, in __get__
value = self._validate(obj, dynamic_default())
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 173, in _secret_default
self._write_secret_file(secret)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 179, in _write_secret_file
with io.open(self.secret_file, 'wb') as f:
PermissionError: [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
Il a été suggéré que j'inclue la sortie de python -c "import IPython; print(IPython.sys_info())"
, alors voici :
{'commit_hash': 'f534027',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/home/ryan/anaconda3/lib/python3.5/site-packages/IPython',
'ipython_version': '4.0.0',
'os_name': 'posix',
'platform': 'Linux-3.19.0-33-generic-x86_64-with-debian-jessie-sid',
'sys_executable': '/home/ryan/anaconda3/bin/python',
'sys_platform': 'linux',
'sys_version': '3.5.0 |Anaconda 2.4.0 (64-bit)| (default, Oct 19 2015, '
'21:57:25) \n'
'[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]'}
Comme mentionné, je ne suis pas un expert en informatique. J'espère que je ne fais pas quelque chose de stupide. J'ai essayé de désinstaller et de réinstaller anaconda, différentes versions de python, de redémarrer l'ordinateur, et j'ai également essayé les solutions trouvées ici https://github.com/ipython/ipython/issues/2097 et ici https://github.com /ipython/ipython/issues/8294 car ils semblent similaires.
J'ai résolu ce problème en changeant la propriété du répertoire ~/.local/share/jupyter de root à user. Je ne sais pas pourquoi ce problème s'est produit, car il ne s'est pas produit sur mes autres systèmes, alors c'est peut-être un bogue et je vais laisser cela ici.
Je viens de faire une nouvelle installation et j'ai rencontré le même problème.
Ce correctif fonctionne toujours.
J'ai utilisé "sudo" avant "jupyter notebook --ip 0.0.0.0", et cela a fonctionné pour moi.
@metallikapo quand je fais la même chose, et si j'ouvre un terminal, je suis connecté en tant que root. Pas bon.
Oui, nous ne recommandons pas d'exécuter le serveur notebook avec sudo
. Cela entraînera également l'exécution de tout le code de vos blocs-notes en tant que root. Changer le fichier/répertoire approprié qui appartiendra à votre utilisateur, comme @rtdew1 l'a trouvé, est une meilleure chose à faire. Je ne sais pas comment cette situation se présente.
J'ai utilisé sudo jupyter notebook sous mac, cela a également fonctionné pour mon système.
@metallikapo merci beaucoup
J'ai utilisé sudo jupyter notebook sous mac, cela a également fonctionné pour mon système.
@metallikapo merci beaucoup
Encore une fois, nous ne recommandons pas l'exécution avec sudo, et le notebook 5.0 refusera de démarrer en tant que root par défaut, ce n'est donc pas une solution.
Quelle commande as-tu utilisé ? bloc-notes jupyter pour ouvrir le bloc-notes ? J'ai également le même problème avec jupyter notebook . Mais l'utilisation de la commande jupyter-notebook résout le problème pour moi.
comment changer la propriété de jupyter notebook cependant?
Alors quelle est la meilleure solution ? @Carreau
La meilleure solution consiste à corriger les autorisations afin que Jupyter puisse s'exécuter dans votre compte d'utilisateur habituel. Il est difficile de donner des instructions précises pour cela, car différentes choses peuvent mal tourner et provoquer des erreurs similaires. Mais en général, vous voudrez faire quelque chose comme ceci :
/home/username
sur Linux ou /Users/username
sur Mac), ces instructions s'appliquent. Si c'est ailleurs, le problème peut être différent.cd
dans le dossier contenant ce fichier.ls -l
pour voir tous les fichiers qui s'y trouvent. Si le fichier est là, vous verrez probablement que son propriétaire est root
, au lieu de votre propre nom d'utilisateur. C'est le problème le plus courant. Si le fichier n'est pas là, il ne peut probablement pas le créer - montez d'un niveau et essayez la même chose sur le répertoire.sudo chown username:username filename
pour remplacer le propriétaire (et le groupe) du fichier par votre propre utilisateur. Si vous faites cela sur un répertoire, utilisez le drapeau -R
pour modifier également tous les fichiers qu'il contient.Vous pouvez aussi probablement le faire à partir d'un gestionnaire de fichiers, mais il en existe de nombreux différents, nous ne donnerons donc pas d'instructions.
(Au cas où ce ne serait pas clair, remplacez username
par votre propre nom d'utilisateur dans ces instructions)
Je fonctionne sur le système Linux de pynq FPGA et cela résout parfaitement mon problème, merci ! @takluyver
Salut Thomas,
Après avoir exécuté le code dans le bloc-notes Jupyter, j'ai rencontré un autre
problème : IPython dir ~/.ipython n'est pas un emplacement accessible en écriture, en utilisant un temp
annuaire.
Savez-vous ce qui ne va pas ?
Meilleur,
Yu Li
Informatique et Génie,
L'Université chinoise de Hong Kong,
Shatin, Hong Kong
2017-11-20 21:01 GMT+08:00 Thomas Kluyver [email protected] :
(Au cas où ce ne serait pas clair, remplacez le nom d'utilisateur par votre propre nom d'utilisateur dans
ces instructions)-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ipython/ipython/issues/8997#issuecomment-345688870 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AbRY_MLFebh-Y8ruW-vIi-e5ZJHy8H4aks5s4XgjgaJpZM4GkQxG
.
Vérifiez les autorisations de ~/.ipython
, et essayez sudo chown username:username ~/ipython
, vérifiez également que :
$ ls -al ~/
drwxr-xr-x 14 <username> <usergroup> 476 Oct 9 05:30 .ipython
en particulier que la première colonne commence par drwx
si ce n'est pas le cas, vous aurez probablement besoin de sudo chmod o+w ~/.ipython
. Où o+w
prévoiront la permission de rite W à O ropriétaire.
Il vaut mieux que chown
ce dossier appartienne à votre utilisateur. L'utilisation de chmod 777
signifie que tout utilisateur peut le lire ou l'écrire. Nous y stockons des informations secrètes, comme la base de données utilisée pour suivre les blocs-notes de confiance.
cette commande fonctionne pour moi:
cd ~ && sudo chown username:username .local/share/
n'oubliez pas de remplacer le nom d'utilisateur par votre propre nom d'utilisateur
@liwg06
C'était la bonne approche. Merci!
cd ~ && sudo chown username:username .local/share/
CEPENDANT,
cela ne me suffisait pas. J'ai dû refaire jusqu'à .local.
Dans le cas de Fedora, vous pouvez également :
sudo chown -R user:user /run/user/1000/jupyter/
Solution Debian qui me convenait :
Dans le dossier /run/user/1000/jupyter/ :
chmod -R 0755 utilisateur:utilisateur
J'ai rencontré le même problème et j'ai compris que lorsque j'ai exécuté la commande pip3 install jupyter, il installe jupyter dans le répertoire actuel qui était un répertoire de niveau racine, cela aurait été mauvais si je changeais le propriétaire de ce répertoire en utilisateur normal comme ce répertoire était pour root, je viens de désinstaller jupyter et de le réinstaller dans mon répertoire personnel et tout a parfaitement fonctionné pour moi
Je suis un utilisateur de win10 et j'ai eu cette erreur malgré le fait que je sois déjà le propriétaire dudit répertoire.
donc je ne sais pas si cela résoudra le problème pour tout le monde. J'ai eu cette même erreur et aucune des solutions n'a fonctionné pour moi. Je vérifie le chemin où jupyter a été stocké à l'aide de juypter --path.
il y aura une liste de chemins classés par configuration, données et exécution. Je cd dans un chemin sous config,
ressemblait à ça
c:\users\dn.user\appdata\local\programs\python\python37\etc\jupyter
après avoir changé de répertoire ici
Je lance à nouveau jupyter et aucune erreur. j'espère que cela aide quelqu'un
Qu'en est-il de l'utilisateur Windows ??
J'aurais peut-être dû mieux préciser. Je suis un utilisateur Windows et j'ai utilisé ma ligne de commande normale
Je veux dire que j'utilisais AWS WorkSpace et je suis confronté à des problèmes d'emplacement de fichiers étranges en raison de la structure interne de l'espace de travail AWS !! J'ai compris plus tard !! Mais pourriez-vous donner une solution et un chemin relatif pour résoudre le problème « autorisation refusée » pour la création et l'enregistrement du fichier !!
La méthode de Mazior m'a aidé à le réparer. Merci!
Identique à (XuuLiu a commenté le 29 avril 2017) : avec Ubuntu 18.04 LS,
à la place, l'utilisation de la commande jupyter-notebook résout le problème pour moi.
Aucun de ce qui précède ne l'a résolu, mais j'ai chown user tous les sous-points de contrôle /.ipynb et cela a fait l'affaire.
Pour les utilisateurs Windows :
Vous devez exécuter l'invite Anaconda Exécuter en tant qu'administrateur pour vous permettre de créer et de modifier.
Ma mémoire était pleine. J'ai déplacé certains trucs et ça marche bien maintenant.
ubuntu@ip-172-31-48-131:~/ssl$ jupyter notebook
[I 05:32:07.950 NotebookApp] Loading IPython parallel extension
[I 05:32:07.952 NotebookApp] Serving notebooks from local directory: /home/ubuntu/ssl
[I 05:32:07.952 NotebookApp] The Jupyter Notebook is running at:
[I 05:32:07.952 NotebookApp] https://(ip-172-31-48-131 or 127.0.0.1):8888/
[I 05:32:07.952 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
ERROR:asyncio:Exception in callback BaseAsyncIOLoop._handle_events(4, 1)
handle: <Handle BaseAsyncIOLoop._handle_events(4, 1)>
Traceback (most recent call last):
File "/usr/lib/python3.6/asyncio/events.py", line 145, in _run
self._callback(*self._args)
File "/usr/local/lib/python3.6/dist-packages/tornado/platform/asyncio.py", line 122, in _handle_events
handler_func(fileobj, events)
File "/usr/local/lib/python3.6/dist-packages/tornado/stack_context.py", line 300, in null_wrapper
return fn(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/tornado/netutil.py", line 262, in accept_handler
callback(connection, address)
File "/usr/local/lib/python3.6/dist-packages/tornado/tcpserver.py", line 263, in _handle_connection
do_handshake_on_connect=False)
File "/usr/local/lib/python3.6/dist-packages/tornado/netutil.py", line 565, in ssl_wrap_socket
context = ssl_options_to_context(ssl_options)
File "/usr/local/lib/python3.6/dist-packages/tornado/netutil.py", line 540, in ssl_options_to_context
context.load_cert_chain(ssl_options['certfile'], ssl_options.get('keyfile', None))
PermissionError: [Errno 13] Permission denied
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
# ubuntu@ip-172-31-48-131:~/ssl$ jupyter notebook
ubuntu@ip-172-31-48-131:~/ssl$ sudo jupyter notebook --allow-root
Commentaire le plus utile
J'ai résolu ce problème en changeant la propriété du répertoire ~/.local/share/jupyter de root à user. Je ne sais pas pourquoi ce problème s'est produit, car il ne s'est pas produit sur mes autres systèmes, alors c'est peut-être un bogue et je vais laisser cela ici.