Недавно я недавно установил Ubuntu 14.04 на свой ноутбук и установил IPython 4 через anaconda. Однако я не могу открыть или загрузить какие-либо записные книжки, в том числе те, которые нормально открываются на моем рабочем столе. Когда я пытаюсь загрузить записную книжку, я получаю следующую ошибку: An unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.
Терминал дает:
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
Когда я пытаюсь создать новый блокнот, я получаю еще одну ошибку: Unexpected error while saving file: Dropbox/iPython Notebooks/Untitled.ipynb [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
Это кажется более информативным, но я относительно новичок в Linux / python / всем этом.
Терминал дает:
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'
Было предложено включить вывод python -c "import IPython; print(IPython.sys_info())"
, так что вот он:
{'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)]'}
Как уже упоминалось, я не эксперт в вопросах вычислений. Надеюсь, я не делаю глупостей. Я попытался удалить и переустановить anaconda, разные версии python, перезагрузить компьютер, а также попробовал решения, найденные здесь https://github.com/ipython/ipython/issues/2097 и здесь https://github.com / ipython / ipython / issues / 8294, поскольку они кажутся похожими.
Я решил эту проблему, изменив владельца каталога ~ / .local / share / jupyter с root на пользователя. Я не знаю, почему возникла эта проблема, поскольку этого не было в других моих системах, поэтому, возможно, это ошибка, и я оставлю ее здесь.
Я только что сделал новую установку и столкнулся с той же проблемой.
Это исправление все еще работает.
Я использовал «sudo» до «jupyter notebook --ip 0.0.0.0», и у меня это сработало.
@metallikapo, когда я делаю то же самое, и если я открываю терминал, я вхожу в систему как root. Нехорошо.
Да, мы не рекомендуем запускать сервер ноутбука с sudo
. Это также приведет к тому, что весь код в ваших записных книжках будет запускаться от имени пользователя root. Лучше изменить соответствующий файл / каталог, который будет принадлежать вашему пользователю, как обнаружил
Я использовал ноутбук sudo jupyter в Mac, он также работал в моей системе.
@metallikapo большое спасибо
Я использовал ноутбук sudo jupyter в Mac, он также работал в моей системе.
@metallikapo большое спасибо
Опять же, мы не рекомендуем работать с sudo, и ноутбук 5.0 по умолчанию откажется запускаться с правами root, так что это не решение.
Какую команду вы использовали? jupyter notebook, чтобы открыть записную книжку? У меня такая же проблема с ноутбуком jupyter . Но использование команды jupyter-notebook вместо этого решает проблему для меня.
как вы меняете владельца ноутбука jupyter?
Тогда какое решение лучше? @Carreau
Лучшее решение - исправить разрешения, чтобы Jupyter мог работать под вашей учетной записью обычного пользователя. Трудно дать точные инструкции для этого, потому что есть разные вещи, которые могут пойти не так и вызвать похожие ошибки. Но в целом вы захотите сделать что-то вроде этого:
/home/username
в Linux или /Users/username
в Mac), применяются эти инструкции. Если это где-то еще, проблема может быть в другом.cd
перейдите в папку, содержащую этот файл.ls -l
чтобы увидеть там все файлы. Если файл есть, вы, вероятно, увидите, что его владельцем является root
, а не ваше собственное имя пользователя. Это самая частая проблема. Если файла нет, вероятно, он не может его создать - поднимитесь на уровень выше и попробуйте то же самое в каталоге.sudo chown username:username filename
чтобы изменить владельца (и группу) файла на своего пользователя. Если вы делаете это в каталоге, используйте флаг -R
чтобы также изменить все файлы внутри него.Вы также, вероятно, можете сделать это из файлового менеджера, но существует множество разных, поэтому мы не будем давать инструкций.
(Если это неясно, замените username
своим именем пользователя в этих инструкциях)
Я использую систему Linux pynq FPGA, и это отлично решает мою проблему, спасибо! @takluyver
Привет Томас,
После того, как я выполнил код в блокноте Jupyter, я столкнулся с другим
проблема: каталог IPython ~ / .ipython не является доступным для записи местом, используя временную
каталог.
Вы знаете, что происходит не так?
Лучший,
Ю Ли
Компьютерные науки и инженерия,
Китайский университет Гонконга,
Шатин, Гонконг
2017-11-20 21:01 GMT + 08: 00 Thomas Kluyver [email protected] :
(Если это неясно, замените имя пользователя своим именем в
эти инструкции)-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ipython/ipython/issues/8997#issuecomment-345688870 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AbRY_MLFebh-Y8ruW-vIi-e5ZJHy8H4aks5s4XgjgaJpZM4GkQxG
.
Проверьте разрешения ~/.ipython
и попробуйте sudo chown username:username ~/ipython
, также проверьте, что:
$ ls -al ~/
drwxr-xr-x 14 <username> <usergroup> 476 Oct 9 05:30 .ipython
в частности, первый столбец начинается с drwx
если это не так, вероятно, вам понадобится sudo chmod o+w ~/.ipython
. Где o+w
означает добавление разрешения W rite к O wner.
Лучше, чтобы chown
эта папка принадлежала вашему пользователю. Использование chmod 777
означает, что любой пользователь может его читать или писать. Мы храним там некоторую секретную информацию, например, базу данных, используемую для отслеживания надежных записных книжек.
эта команда работает для меня:
cd ~ && sudo chown имя пользователя: имя пользователя .local / share /
не забудьте заменить имя пользователя своим собственным именем пользователя
@ liwg06
Это был правильный подход. Благодарность!
cd ~ && sudo chown имя пользователя: имя пользователя .local / share /
ТЕМ НЕ МЕНИЕ,
для меня этого было недостаточно. Мне пришлось вернуться к .local.
В случае Fedora вы также можете сделать:
sudo chown -R user:user /run/user/1000/jupyter/
Решение Debian, которое мне подошло:
В папке / run / user / 1000 / jupyter /:
chmod -R 0755 пользователь: пользователь
Я столкнулся с той же проблемой, и затем я понял, что когда я запустил команду pip3 install jupyter, она установила jupyter в текущем каталоге, который был каталогом корневого уровня, было бы плохо, если бы я сменил владельца этого каталога на обычного пользователя как этот каталог был для root, я просто удалил jupyter и повторно установил его в свой домашний каталог, и все работало отлично для меня
Я пользователь win10, и у меня возникла эта ошибка, несмотря на то, что я уже являюсь владельцем указанного каталога.
поэтому не уверен, что это решит проблему для всех. У меня была такая же ошибка, и ни одно из решений не помогло мне. Я проверяю путь к тому месту, где хранился jupyter, используя juypter --path.
будет список путей, классифицированных по конфигурации, данным и времени выполнения. Я перехожу в путь под config,
выглядело так
c: \ users \ dn.user \ appdata \ local \ programs \ python \ python37 \ etc \ jupyter
после смены каталога сюда
Я снова запускаю jupyter и без ошибок. надеюсь, это поможет кому-то
А как насчет пользователя Windows ??
Может, мне следовало прояснить ситуацию получше. Я пользователь Windows и использовал обычную командную строку
Я имею в виду, что я использовал AWS WorkSpace и столкнулся с некоторыми странными проблемами с расположением файлов из-за внутренней структуры рабочего пространства AWS !! Разобрался позже !! Но не могли бы вы указать решение и относительный путь для решения проблемы «отказано в разрешении» для создания и сохранения файла !!
Исправить это мне помог метод Мазиора. Спасибо!
То же, что (XuuLiu прокомментировал 29 апреля 2017 г.): с Ubuntu 18.04 LS,
использование команды jupyter-notebook вместо этого решает проблему для меня.
Ничего из вышеперечисленного не помогло, но я показал пользователю все вспомогательные /.ipynb-checkpoints, и это помогло.
Для пользователей Windows:
Вам нужно запустить приглашение Anaconda « Запуск от имени администратора», чтобы вы могли создавать и изменять.
Моя память была переполнена. Я переместил кое-что, и теперь он работает нормально.
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
Самый полезный комментарий
Я решил эту проблему, изменив владельца каталога ~ / .local / share / jupyter с root на пользователя. Я не знаю, почему возникла эта проблема, поскольку этого не было в других моих системах, поэтому, возможно, это ошибка, и я оставлю ее здесь.