OError: [Errno 26] Text file busy: '/...myvirtualenv/bin/python'

OError: [Errno 26] Text file busy: '/...myvirtualenv/bin/python'

我尝试重新创建虚拟环境:

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'

有人知道为什么会出现这种异常吗?

我遇到了完全相同的问题:)

virtualenv 通过修改 virtualenv 目录区域中的 python 可执行文件的副本来工作 (afaik)。

您必须已经有一个使用 virtualenv 的进程,所以 python 可执行文件的副本是 'in use'(从技术上讲,它在执行时被 mmap() 写入内存)。

除非您需要更改 virtualenv 的设置,否则您不需要每次都重新运行 virtualenv 命令 - 一旦设置完成,您只需在需要时激活它。

至于为什么会发生 - 可能您在启动时有一个服务 运行ning:

ps -ef | grep python

pkill python

杀死系统上的 Python 个进程 运行

我会工作