Python sphinx Sphinx-python3-mhttp.server-FileNotFoundError:[Errno 2]没有这样的文件或目录

Python sphinx Sphinx-python3-mhttp.server-FileNotFoundError:[Errno 2]没有这样的文件或目录,python-sphinx,Python Sphinx,我的问题-如何找到丢失的文件/目录 Python3 http服务器在本地为Sphinx html文件提供服务,但是突然它停止了服务-我在终端中发现了这个错误-不确定丢失了哪个文件/目录 /pycon-sphinx-tutorial/crawler/docs/_build/html$ python3 -m http.server 8989 Serving HTTP on 0.0.0.0 port 8989 ... ---------------------------------------- E

我的问题-如何找到丢失的文件/目录

Python3 http服务器在本地为Sphinx html文件提供服务,但是突然它停止了服务-我在终端中发现了这个错误-不确定丢失了哪个文件/目录

/pycon-sphinx-tutorial/crawler/docs/_build/html$ python3 -m http.server 8989
Serving HTTP on 0.0.0.0 port 8989 ...
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60996)
Traceback (most recent call last):
  File "/usr/lib/python3.5/socketserver.py", line 313, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python3.5/socketserver.py", line 341, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python3.5/socketserver.py", line 681, in __init__
    self.handle()
  File "/usr/lib/python3.5/http/server.py", line 422, in handle
    self.handle_one_request()
  File "/usr/lib/python3.5/http/server.py", line 410, in handle_one_request
    method()
  File "/usr/lib/python3.5/http/server.py", line 645, in do_GET
    f = self.send_head()
  File "/usr/lib/python3.5/http/server.py", line 669, in send_head
    path = self.translate_path(self.path)
  File "/usr/lib/python3.5/http/server.py", line 785, in translate_path
    path = os.getcwd()
FileNotFoundError: [Errno 2] No such file or directory
----------------------------------------
^C
Keyboard interrupt received, exiting.
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build/html$ cd ..
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build$ ls -ltr
total 8
drwxrwxr-x 2 dhankar dhankar 4096 Oct 30 00:19 doctrees
drwxrwxr-x 4 dhankar dhankar 4096 Oct 30 00:19 html
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build$ cd html
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build/html$ ls -ltr
total 36
-rw-rw-r-- 1 dhankar dhankar 3849 Oct 30 00:19 index.html
-rw-rw-r-- 1 dhankar dhankar 3346 Oct 30 00:19 install.html
-rw-rw-r-- 1 dhankar dhankar 3694 Oct 30 00:19 support.html
drwxrwxr-x 2 dhankar dhankar 4096 Oct 30 00:19 _sources
-rw-rw-r-- 1 dhankar dhankar 2629 Oct 30 00:19 genindex.html
-rw-rw-r-- 1 dhankar dhankar 3120 Oct 30 00:19 search.html
drwxrwxr-x 2 dhankar dhankar 4096 Oct 30 00:19 _static
-rw-rw-r-- 1 dhankar dhankar  979 Oct 30 00:19 searchindex.js
-rw-rw-r-- 1 dhankar dhankar  295 Oct 30 00:19 objects.inv
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build/html$ 

正如您所看到的,正在从
os.getcwd()
引发异常。这表明您或其他进程在服务器运行时删除了为文件提供服务的目录。如果删除了当前工作目录,则对
os.getcwd()
的后续调用将引发
FileNotFound
。例如:

>>> import os
>>> os.mkdir('a')
>>> os.chdir('a')
>>> os.getcwd()
'/blah/blah/blah/a'
>>> os.rmdir(os.getcwd())
>>> os.getcwd()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory
导入操作系统 >>>os.mkdir('a')) >>>os.chdir('a')) >>>os.getcwd() “/blah/blah/blah/a” >>>os.rmdir(os.getcwd()) >>>os.getcwd() 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 FileNotFoundError:[Errno 2]没有这样的文件或目录
所以我想,不要那样做

谢谢,我对你的答案投了赞成票。我一直在遵循这里的教程-它清楚地表明,我使用代码片段“makecleanhtml”构建HTML。引用教程--“通过运行make clean html修复此问题,这将强制进行完全重建。”教程URL=。因此,我假设
makecleanhtml
会重新创建我的目录,而
os.getcwd()
在当前工作目录中不会有相同的子目录结构-但是互联网上似乎没有其他人有这个问题,谢谢。基本的
http.server
非常简单,不能很好地处理热重新加载之类的事情。如果Python,或者至少Sphinx能够提供更好的功能,那就太好了(我可以发誓我记得Sphinx附带了一个实时服务器,但我现在找不到相关文档,所以可能我对其他东西感到困惑)。