0

我正在尝试使用conda build .. 我已经走得很远了,但是在测试之后,我得到了这个输出:

Renaming work directory,  C:\ProgramData\Miniconda3\envs\p37\conda-bld\<package-name>_1596716574942\work  to  
    C:\ProgramData\Miniconda3\envs\p37\conda-bld\<package-name>_1596716574942\work_moved_<package-name>-1.1.1-py38_0_win-64
Traceback (most recent call last):
  File "C:\ProgramData\Miniconda3\envs\p37\lib\shutil.py", line 566, in move
    os.rename(src, real_dst)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 
    'C:\\ProgramData\\Miniconda3\\envs\\p37\\conda-bld\\<package-name>_1596716574942\\work' ->
    'C:\\ProgramData\\Miniconda3\\envs\\p37\\conda-bld\\<package-name>_1596716574942\\work_moved_<package-name>-1.1.1-py38_0_win-64'

但是,当 conda build 本身刚刚创建了整个目录时,怎么可能呢?为了安全起见,我刚刚重新启动,但这并没有帮助。在管理员提示符下运行 conda build 也没有。

为什么 conda 为 python 3.8 构建构建?meta.yaml 指定python>=3.6并且我所在的 conda 环境安装了 Python 3.7 -python --version在命令行上给出3.7.6. 指定conda build . --python=3.7不会更改包名称 - 它仍然是 ...py38...

4

1 回答 1

0

原因是我在 setup.py 中启动了一个子进程。令人困惑的是,它在一台机器上 100% 工作,而在另一台机器上 100% 失败,而且在周末访问之前将程序留在断点中(这样子进程应该有时间完成)。然而,改变

cmd = 'pandoc -s --toc -t html doc/manual.md -o '+html_path
subprocess.run(cmd)

os.system(cmd)

解决了我的问题。

于 2020-08-10T09:31:27.020 回答