【发布时间】:2016-11-03 14:00:45
【问题描述】:
我尝试重新创建 virtualenv:
foo_bar_d@aptguettler:~$ virtualenv --system-site-packages .
我得到了这个例外:
foo_bar_d@aptguettler:~$ virtualenv --system-site-packages .
New python executable in /home/foo_bar_d/bin/python
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 711, in main
symlink=options.symlink)
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 924, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1230, in install_python
shutil.copyfile(executable, py_executable)
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 26] Text file busy: '/home/foo_bar_d/bin/python'
有人知道为什么会发生这个异常吗?
【问题讨论】:
-
重启你的电脑,可能有鬼应用。或者这个文件所有者不是 system_default_user。
-
@dsgdfg 重启我的电脑后还是一样。文件所有权没问题,我检查了两次。
-
包更新程序使用 python 并且 python 配置文件被锁定。停止每个 python 进程并使用
bash替换/删除/更改虚拟环境文件。或者将您的更改用作Package。 -
@dsgdfg 您能否解释一下“或将您的更改用作包”的含义。我不明白你的提示。
-
OS管理您的所有环境。您想要更改/添加您的默认 python-env,但不能使用python进行更改。创建一个BASH脚本,进行一些更改并保存。包是操作系统包而不是 python 包。如果源和目标相同,ONUSE、ONBUSY、ONLOCK 不能改变!
标签: python virtualenv ioerror