簡體   English   中英

OSError: [Errno 9] pipenv 中的文件描述符錯誤

[英]OSError: [Errno 9] Bad file descriptor in pipenv

我在 Ubuntu 16.04 上使用 Python 3.5.2 在 pipenv 虛擬環境中編譯了dune 它編譯成功,但是當我運行以下腳本時,出現錯誤的文件描述符錯誤,不知道為什么。

from dune.grid import structuredGrid
grid = structuredGrid([0,0],[1,1],[10,10])
grid.plot()

這是回溯錯誤:

(dune) pcsgs04:[dune] >pipenv run python scripts/testGrid.py 
Traceback (most recent call last):
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/portalocker/portalocker.py", line 137, in lock
    fcntl.flock(file_.fileno(), flags)
OSError: [Errno 9] Bad file descriptor

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/portalocker/utils.py", line 131, in acquire
    fh = self._get_lock(fh)
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/portalocker/utils.py", line 180, in _get_lock
    portalocker.lock(fh, self.flags)
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/portalocker/portalocker.py", line 141, in lock
    raise exceptions.LockException(exc_value, fh=file_)
portalocker.exceptions.LockException: [Errno 9] Bad file descriptor

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "scripts/testGrid.py", line 2, in <module>
    grid = structuredGrid([0,0],[1,1],[10,10])
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/dune/grid/core.py", line 44, in structuredGrid
    return yaspGrid(domain, dimgrid=len(lower))
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/dune/grid/_grids.py", line 40, in yaspGrid
    gridModule = module(includes, typeName, ctor)
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/dune/grid/grid_generator.py", line 199, in module
    module = generator.load(includes, typeName, typeHash, *args, **kwargs)
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/dune/generator/generator.py", line 147, in load
    return self.post(moduleName, source)
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/dune/generator/generator.py", line 105, in post
    module = builder.load(moduleName, source, self.typeName[0])
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/dune/generator/builder.py", line 109, in load
    with Lock(os.path.join(self.dune_py_dir, 'lock-all.lock'), flags=LOCK_SH):
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/portalocker/utils.py", line 197, in __enter__
    return self.acquire()
  File "/home/user/.local/share/virtualenvs/dune-gkp4O1Gp/lib/python3.5/site-packages/portalocker/utils.py", line 157, in acquire
    raise exceptions.LockException(exception)
portalocker.exceptions.LockException: [Errno 9] Bad file descriptor

任何人都可以向我解釋這個問題意味着什么,我不明白哪些文件被鎖定並拋出這個異常。

我想我在虛擬環境中使用 pipenv 缺少一些操作系統權限,並使用 miniconda 結束,我沒有這個問題並且腳本運行沒有錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM