Ipython laptop only runs as root

I tried to import a laptop into iPython (Jupyter after upgrade). But for some reason, I can import any laptop only if I run it as root. Otherwise, I get the following error for all laptops.

An unknown error occurred while loading the laptop. This version can download laptop formats v4 or earlier. See Server Log for details.

Notebook iPython3 is capable of loading notebooks. Is there something I can do to solve this?

[W 23:04:29.100 NotebookApp] 404 GET /static/components/MathJax/config/Safe.js?rev=2.5.3 (127.0.0.1) 40.67ms referer=http://localhost:8889/notebooks/Challenges/German%20Credit%20Dataset%20Classification%20-%20Challenge%201/GermanCreditCardClassification.ipynb [E 23:04:29.377 NotebookApp] Unhandled error in API request Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/notebook/base/handlers.py", line 436, in wrapper result = yield gen.maybe_future(method(self, *args, **kwargs)) File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 870, in run value = future.result() File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 215, in result raise_exc_info(self._exc_info) File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 230, in wrapper yielded = next(result) File "/usr/local/lib/python2.7/dist-packages/notebook/services/contents/handlers.py", line 129, in get path=path, type=type, format=format, content=content, File "/usr/local/lib/python2.7/dist-packages/notebook/services/contents/filemanager.py", line 348, in get model = self._notebook_model(path, content=content) File "/usr/local/lib/python2.7/dist-packages/notebook/services/contents/filemanager.py", line 308, in _notebook_model self.mark_trusted_cells(nb, path) File "/usr/local/lib/python2.7/dist-packages/notebook/services/contents/manager.py", line 447, in mark_trusted_cells trusted = self.notary.check_signature(nb) File "/usr/local/lib/python2.7/dist-packages/nbformat/sign.py", line 220, in check_signature if self.db is None: File "/usr/local/lib/python2.7/dist-packages/traitlets/traitlets.py", line 439, in __get__ value = self._validate(obj, dynamic_default()) File "/usr/local/lib/python2.7/dist-packages/nbformat/sign.py", line 126, in _db_default db = sqlite3.connect(self.db_file, **kwargs) OperationalError: unable to open database file [E 23:04:29.389 NotebookApp] { "Accept-Language": "en-US,en;q=0.8", "Accept-Encoding": "gzip, deflate, sdch", "Connection": "keep-alive", "Accept": "application/json, text/javascript, */*; q=0.01", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36", "Dnt": "1", "Host": "localhost:8889", "X-Requested-With": "XMLHttpRequest", "Referer": "http://localhost:8889/notebooks/Challenges/German%20Credit%20Dataset%20Classification%20-%20Challenge%201/GermanCreditCardClassification.ipynb" } [E 23:04:29.390 NotebookApp] 500 GET /api/contents/Challenges/German%20Credit%20Dataset%20Classification%20-%20Challenge%201/GermanCreditCardClassification.ipynb?type=notebook&_=1449266668869 (127.0.0.1) 134.27ms referer=http://localhost:8889/notebooks/Challenges/German%20Credit%20Dataset%20Classification%20-%20Challenge%201/GermanCreditCardClassification.ipynb 

Ipython Details Server Information:

 You are using Jupyter notebook. The version of the notebook server is 4.0.2 and is running on: Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] Current Kernel Information: unable to contact kernel 

OS: Linux Mint x64, running on the kernel 3.13.0-37-generic

Answer: KT. the solution works. I think I started Jupyter as root for the first time, which made the files inaccessible to non root users, as mentioned by KT.

+5
source share
2 answers

Ok, let me guess here.

When you started ipython notebook for the first time, it was root . Therefore, some files that Jupyter uses were created from the very beginning with root privileges. It is not surprising that whenever you start Jupyter as a non-root user, it cannot write files that lead to the errors you see.

In the specific situation that you see in the log, Jupyter has problems writing to the nbsignatures.db SQLite database. This file should be located in Jupyter DATA_DIR , which usually looks like ~/.local/share/jupyter .

If you do not have this directory, you can find it by running ipython and doing this, for example:

 In [1]: from jupyter_core.application import JupyterApp In [2]: JupyterApp().data_dir Out[2]: u'/home/ubuntu/.local/share/jupyter' 

Now you need to make sure that everything in this directory belongs to the correct user, not root. It might mean something like

 # chown -R <yourusername>.<yourusername> ~/.local/share/jupyter 

as root.

+3
source

I had a similar problem. Attached below is my error message.

 [E 19:32:53.893 NotebookApp] Unhandled error in API request Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/notebook/base/handlers.py", line 436, in wrapper result = yield gen.maybe_future(method(self, *args, **kwargs)) File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 870, in run value = future.result() File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 215, in result raise_exc_info(self._exc_info) File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 230, in wrapper yielded = next(result) File "/usr/local/lib/python2.7/site-packages/notebook/services/contents/handlers.py", line 126, in get path=path, type=type, format=format, content=content, File "/usr/local/lib/python2.7/site-packages/notebook/services/contents/filemanager.py", line 350, in get model = self._notebook_model(path, content=content) File "/usr/local/lib/python2.7/site-packages/notebook/services/contents/filemanager.py", line 310, in _notebook_model self.mark_trusted_cells(nb, path) File "/usr/local/lib/python2.7/site-packages/notebook/services/contents/manager.py", line 447, in mark_trusted_cells trusted = self.notary.check_signature(nb) File "/usr/local/lib/python2.7/site-packages/nbformat/sign.py", line 220, in check_signature if self.db is None: File "/usr/local/lib/python2.7/site-packages/traitlets/traitlets.py", line 439, in __get__ value = self._validate(obj, dynamic_default()) File "/usr/local/lib/python2.7/site-packages/nbformat/sign.py", line 127, in _db_default self.init_db(db) File "/usr/local/lib/python2.7/site-packages/nbformat/sign.py", line 139, in init_db )""") DatabaseError: database disk image is malformed [E 19:32:53.895 NotebookApp] { "Accept-Language": "en,zh-CN;q=0.8,zh;q=0.6,zh-TW;q=0.4,fr;q=0.2,es;q=0.2", "Accept-Encoding": "gzip, deflate, sdch", "Connection": "keep-alive", "Accept": "application/json, text/javascript, */*; q=0.01", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36", "Host": "localhost:8888", "Referer": "http://localhost:8888/notebooks/trajectory_analysis.ipynb", "X-Requested-With": "XMLHttpRequest" } 

I solved this by deleting the file: nbsignatures.db .

Since Jupyter's location on OSX is system dependent, first find the file using:

 jupyter --data-dir 

Then delete nbsignatures.db .

Ref: DatabaseError: database disk image damaged # 9293 .

0
source

Source: https://habr.com/ru/post/1234736/


All Articles