Điểm:-1

sudo: jupyter: không tìm thấy lệnh & OSError: [Errno 13] Quyền bị từ chối: '/ usr/local/share/jupyter'

lá cờ bh

Nếu tôi thử kiểm tra xem jupyter nằm trong đường dẫn của tôi hoặc không sử dụng, tôi sẽ nhận lại được thứ gì đó.

jupyter nào
/home/usr/.local/bin/jupyter

Nhưng khi tôi cố gắng cài đặt và kích hoạt tiện ích mở rộng, tôi gặp phải lỗi:

Sudo jupyter serverextension enable --py ipyparallel
cài đặt sudo jupyter nbextension --py ipyparallel
sudo jupyter nbextension kích hoạt --py ipyparallel

Lỗi nói sudo: jupyter: không tìm thấy lệnh

Và tôi cần quyền truy cập sudo. Nguyên nhân thực thi mà không có Sudo, không hoàn thành công việc:

tiện ích mở rộng máy chủ jupyter bật --py ipyparallel
cài đặt jupyter nbextension --py ipyparallel 
kích hoạt jupyter nbextension --py ipyparallel 
Kích hoạt: ipyparallel.nbextension
- Viết config: /home/usr/.jupyter
    - Đang xác thực...
      ipyparallel.nbextension OK
Đang cài đặt /home/usr/.local/lib/python2.7/site-packages/ipyparallel/nbextension/static -> ipyparallel
Traceback (cuộc gọi gần đây nhất cuối cùng):
  Tệp "/home/usr/.local/bin/jupyter-nbextension", dòng 8, trong <module>
    sys.exit(chính())
  Tệp "/home/usr/.local/lib/python2.7/site-packages/jupyter_core/application.py", dòng 270, trong launch_instance
    trả về super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  Tệp "/home/usr/.local/lib/python2.7/site-packages/traitlets/config/application.py", dòng 664, trong launch_instance
    app.start()
  Tệp "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", dòng 988, bắt đầu
    super(NBExtensionApp, self).start()
  Tệp "/home/usr/.local/lib/python2.7/site-packages/jupyter_core/application.py", dòng 259, bắt đầu
    self.subapp.start()
  Tệp "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", dòng 716, bắt đầu
    self.install_extensions()
  Tệp "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", dòng 695, trong install_extensions
    **kwargs
  Tệp "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", dòng 225, trong install_nbextension_python
    đích=đích, logger=logger
  Tệp "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", dòng 126, trong install_nbextension
    ensure_dir_exists(nbext)
  Tệp "/home/usr/.local/lib/python2.7/site-packages/jupyter_core/utils/__init__.py", dòng 13, trong ensure_dir_exists
    os.makedirs(đường dẫn, chế độ=chế độ)
  Tệp "/usr/lib/python2.7/os.py", dòng 150, trong makedirs
    makedirs(đầu, chế độ)
  Tệp "/usr/lib/python2.7/os.py", dòng 157, trong makedirs
    mkdir(tên, chế độ)
OSError: [Errno 13] Quyền bị từ chối: '/ usr/local/share/jupyter'
Bật tiện ích mở rộng cây ipyparallel/main...
      - Xác nhận: OK

Trong trường hợp (^) này, lỗi cho biết: OSError: [Errno 13] Quyền bị từ chối: '/ usr/local/share/jupyter'

Vì vậy, làm thế nào tôi có thể khắc phục điều này?

tôi đã thêm xuất PATH="$HOME/.local/bin:$PATH" ở dòng cuối cùng của ~/.bashrc

muru avatar
lá cờ us
Hãy thử cài đặt *không có* `sudo` nhưng có `--user`.
Điểm:0
lá cờ cn

Khi bạn sử dụng sudo, một môi trường khác có hiệu lực. Theo đó, thư mục bin riêng của bạn (/home/usr/.local/bin/jupyter) không còn trong đường dẫn tìm kiếm và lệnh không còn được tìm thấy nữa.

Đường dẫn có hiệu lực được xác định trong tệp sudoers. Trên Ubuntu, nó xuất hiện dưới dạng:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Do đó, hãy cài đặt tệp nhị phân của bạn trong (/usr/local/bin) để nó được tìm thấy khi chạy nó qua sudo chỉ huy. Theo quy ước, đó là thư mục dành cho các tệp thực thi được cài đặt thủ công, tức là được quản trị viên quản lý thủ công thay vì tự động phân phối.

Ngoài ra, hãy giữ nguyên vị trí của tệp nhị phân và sử dụng -E tùy chọn của sudo chỉ huy. Điều đó bảo tồn môi trường hiện tại của bạn, bao gồm cả đường dẫn. Một số suy nghĩ: 1) hệ điều hành phải cho phép điều đó (Ubuntu cũng vậy), 2) nếu có thể, tốt hơn hết là bạn nên tránh xa thư mục người dùng của chính mình đối với các hoạt động yêu cầu quyền root và 3) chắc chắn không chạy các chương trình đồ họa theo cách này vì nó có thể làm rối các quyền.

vanadium avatar
lá cờ cn
@steeldriver OK, một số nghiên cứu thực sự gợi ý rằng sudo sử dụng đường dẫn được xác định trong tệp sudoers. Tôi sẽ cập nhật câu trả lời của tôi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.