OError:[Errno 26]文本文件忙:'/…myvirtualenv/bin/python'

2024-04-25 21:12:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着重新创建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'

有人知道为什么会发生这种异常吗?


Tags: inpybinvirtualenvfoolibpackagesusr
1条回答
网友
1楼 · 发布于 2024-04-25 21:12:09

我也有同样的问题:)

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

您必须已经有一个使用virtualenv的进程,以便python可执行文件的副本“正在使用”(从技术上讲,它在执行时被mmap()放入内存)。

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

至于发生这种情况的原因-可能有一个服务在启动时运行:

ps -ef | grep python

相关问题 更多 >