Ipython: لا يمكن فتح أو إنشاء دفاتر ملاحظات Jupyter جديدة

تم إنشاؤها على ١٧ نوفمبر ٢٠١٥  ·  33تعليقات  ·  مصدر: ipython/ipython

لقد قمت مؤخرًا بتثبيت Ubuntu 14.04 على الكمبيوتر المحمول الخاص بي ، وقمت بتثبيت IPython 4 من خلال الأناكوندا. ومع ذلك ، لا يمكنني فتح أو تحميل أي دفاتر ملاحظات ، بما في ذلك تلك التي تفتح بشكل جيد على سطح المكتب. عندما أحاول تحميل دفتر ملاحظات ، يظهر لي الخطأ التالي: 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 من الجذر إلى المستخدم. لا أعرف سبب حدوث هذه المشكلة ، لأنها لم تحدث في أنظمتي الأخرى ، لذلك ربما يكون خطأ وسأترك هذا هنا.

ال 33 كومينتر

لقد قمت بحل هذه المشكلة عن طريق تغيير ملكية الدليل ~ / .local / share / jupyter من الجذر إلى المستخدم. لا أعرف سبب حدوث هذه المشكلة ، لأنها لم تحدث في أنظمتي الأخرى ، لذلك ربما يكون خطأ وسأترك هذا هنا.

لقد أجريت تثبيتًا جديدًا وواجهت نفس المشكلة.

هذا الإصلاح لا يزال يعمل.

لقد استخدمت "sudo" قبل "دفتر jupyter --ip 0.0.0.0" ، وقد نجحت معي.

metallikapo عندما أقوم بالشيء نفسه ، وإذا فتحت محطة طرفية ، يتم تسجيل

نعم ، لا نوصي بتشغيل خادم الكمبيوتر الدفتري باستخدام sudo . سيؤدي ذلك أيضًا إلى تشغيل جميع التعليمات البرمجية الموجودة في دفاتر ملاحظاتك كجذر. يعد تغيير الملف / الدليل ذي الصلة ليكون مملوكًا لمستخدمك ، كما وجد

لقد استخدمت دفتر sudo jupyter في نظام التشغيل mac ، كما أنه يعمل أيضًا مع نظامي.

metallikapo شكرا جزيلا لك

لقد استخدمت دفتر sudo jupyter في نظام التشغيل mac ، كما أنه يعمل أيضًا مع نظامي.

metallikapo شكرا جزيلا لك

مرة أخرى ، لا نوصي بالتشغيل باستخدام sudo ، وسيرفض الكمبيوتر الدفتري 5.0 البدء كجذر افتراضيًا ، لذا فهو ليس حلاً.

ما هو الأمر الذي استخدمته؟ دفتر jupyter لفتح دفتر؟ لدي نفس المشكلة مع دفتر jupyter كذلك. لكن استخدام دفتر الأوامر

كيف يمكنك تغيير ملكية دفتر jupyter بالرغم من ذلك؟

إذن ما هو الحل الأفضل؟ تضمين التغريدة

الحل الأفضل هو إصلاح الأذونات بحيث يمكن تشغيل Jupyter في حساب المستخدم العادي الخاص بك. من الصعب إعطاء تعليمات دقيقة لذلك ، لأن هناك أشياء مختلفة يمكن أن تسوء وتسبب أخطاء مماثلة. لكن بشكل عام ، سترغب في القيام بشيء مثل هذا:

  1. انظر إلى رسالة الخطأ "تم رفض الإذن" التي تظهر لك ، واطلع على الملف الذي يشير إليه. إذا كان هذا موجودًا ضمن دليلك الرئيسي ( /home/username على نظام Linux ، أو /Users/username على نظام Mac) ، فإن هذه الإرشادات تنطبق. إذا كان في مكان آخر ، فقد تكون المشكلة مختلفة.
  2. افتح Terminal و cd إلى المجلد الذي يحتوي على هذا الملف.
  3. قم بتشغيل ls -l لمشاهدة جميع الملفات هناك. إذا كان الملف موجودًا ، فسترى على الأرجح أن مالكه هو root ، بدلاً من اسم المستخدم الخاص بك. هذه هي المشكلة الأكثر شيوعًا. إذا لم يكن الملف موجودًا ، فمن المحتمل ألا يتمكن من إنشائه - اصعد مستوى وجرب الشيء نفسه على الدليل.
  4. قم بتشغيل sudo chown username:username filename لتغيير مالك (ومجموعة) الملف إلى المستخدم الخاص بك. إذا كنت تفعل هذا في دليل ، فاستخدم علامة -R لتغيير جميع الملفات الموجودة بداخله أيضًا.

يمكنك أيضًا القيام بذلك من مدير الملفات ، ولكن هناك الكثير من البرامج المختلفة ، لذلك لن نقدم تعليمات.

(في حالة عدم وضوح ذلك ، استبدل username باسم المستخدم الخاص بك في هذه التعليمات)

أنا أعمل على نظام Linux من pynq FPGA وهذا يحل مشكلتي تمامًا ، شكرًا! تضمين التغريدة

مرحبًا توماس ،

بعد أن نفذت الكود في دفتر Jupyter ، صادفت أخرى
المشكلة: IPython dir ~ / .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 إلى O wner.

من الأفضل أن يمتلك المستخدم هذا المجلد chown . استخدام chmod 777 يعني أن أي مستخدم يمكنه قراءته أو كتابته. نقوم بتخزين بعض المعلومات السرية هناك ، مثل قاعدة البيانات المستخدمة لتتبع أجهزة الكمبيوتر المحمولة الموثوقة.

هذا الأمر يعمل بالنسبة لي:
cd ~ && sudo chown اسم المستخدم: اسم المستخدم. محلي / مشاركة /
تذكر استبدال اسم المستخدم باسم المستخدم الخاص بك

هههههههههههههه
كان هذا هو النهج الصحيح. شكرا!

cd ~ && sudo chown اسم المستخدم: اسم المستخدم. محلي / مشاركة /

لكن،
لم يكن هذا كافيا بالنسبة لي. كان علي أن أقوم بعمل نسخ احتياطي حتى .local.

في حالة Fedora ، قد ترغب أيضًا في القيام بما يلي:
sudo chown -R user:user /run/user/1000/jupyter/

حل دبيان المناسب لي:
في المجلد / run / user / 1000 / jupyter:
chmod -R 0755 المستخدم: مستخدم

  • مجرد إعطاء أذونات القراءة لم يصلح خطأ الإذن الخاص بي.

واجهت نفس المشكلة ، واكتشفت أنه عندما قمت بتشغيل أمر pip3 install jupyter ، فإنه يقوم بتثبيت jupyter في الدليل الحالي الذي كان دليلًا على مستوى الجذر ، وكان سيكون سيئًا إذا قمت بتغيير مالك هذا الدليل إلى مستخدم عادي مثل كان هذا الدليل من أجل الجذر ، لقد قمت للتو بإلغاء تثبيت jupyter وأعدت تثبيته في دليل منزلي وكل شيء يعمل بشكل مثالي بالنسبة لي

أنا مستخدم Win10 ، وقد تلقيت هذا الخطأ على الرغم من أنني بالفعل مالك الدليل المذكور.

لذلك لست متأكدًا مما إذا كان هذا سيحل المشكلة للجميع. كان لدي هذا الخطأ نفسه ولم يعمل أي من الحلول بالنسبة لي. أتحقق من المسار إلى حيث تم تخزين jupyter باستخدام juypter --path.
ستكون هناك قائمة بالمسارات المصنفة حسب التكوين والبيانات ووقت التشغيل. أنا قرص مضغوط في مسار تحت التكوين ،
بدا مثل هذا
c: \ users \ dn.user \ appdata \ local \ software \ python \ python37 \ etc \ jupyter
بعد تغيير الدليل إلى هنا
أركض jupyter مرة أخرى ولا خطأ. أمل أن هذا يساعد شخصاما

ماذا عن مستخدم Windows بالرغم من ذلك ؟؟

ربما كان علي أن أوضح بشكل أفضل. أنا مستخدم windows واستخدمت سطر الأوامر العادي

أعني أنني كنت أستخدم AWS WorkSpace وأواجه بعض المشكلات الغريبة المتعلقة بموقع الملفات بسبب الهيكل الداخلي لمساحة عمل AWS !! لقد اكتشفت ذلك لاحقًا !! ولكن هل يمكنك إعطاء الحل والمسار النسبي لحل مشكلة "رفض الإذن" لإنشاء الملف وحفظ الملف !!

ساعدتني طريقة Mazior في إصلاحها. شكرا!

مثل (علق XuuLiu في 29 أبريل 2017): مع Ubuntu 18.04 LS ،
باستخدام الأمر jupyter -ebook بدلاً من ذلك يحل المشكلة بالنسبة لي.

لم يحلها أي مما سبق ، لكنني قمت بتلوين جميع نقاط التفتيش الفرعية /.ipynb- وهذا هو ما فعلته.

لمستخدمي الويندوز:

تحتاج إلى تشغيل موجه 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).
  • لكنني أصل إلى الخادم عبر عنوان URL للمضيف المحلي في متصفح Chrome ، ثم يحدث الخطأ.
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
  • الحل الخاص بي: استخدام دفتر sudo jupyter - الأمر دفتر الملاحظات jupyter لبدء تشغيل الخادم. (لا أعرف سبب
# ubuntu@ip-172-31-48-131:~/ssl$ jupyter notebook
 ubuntu@ip-172-31-48-131:~/ssl$ sudo jupyter notebook --allow-root
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات