我正在尝试用conda build .
构建一个conda包。我已经走了很长一段路,但经过测试,我得到了以下输出:
Renaming work directory, C:ProgramDataMiniconda3envsp37conda-bld<package-name>_1596716574942work to
C:ProgramDataMiniconda3envsp37conda-bld<package-name>_1596716574942work_moved_<package-name>-1.1.1-py38_0_win-64
Traceback (most recent call last):
File "C:ProgramDataMiniconda3envsp37libshutil.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构建本身刚刚创建了整个目录时,这怎么可能呢?为了安全起见,我重新启动了电脑,但这无济于事。在管理员提示下运行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…
原因是我在setup.py中启动了一个子流程。令人困惑的是,它在一台机器上100%工作,在另一台机器中100%失败,而且在周末访问之前将程序留在断点中(这样子流程应该有时间完成(。然而,改变
cmd = 'pandoc -s --toc -t html doc/manual.md -o '+html_path
subprocess.run(cmd)
至
os.system(cmd)
解决了我的问题。