私は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'
この例外が発生する理由を誰かが知っていますか?
私はまったく同じ問題を抱えていました:)
virtualenvは、virtualenvディレクトリ領域にあるpython実行可能ファイルのコピーを変更することで機能します(afaik)。
python実行可能ファイルのコピーが「使用中」です(技術的には、実行中にメモリにmmap()されます)ので、virtualenvをすでに使用しているプロセスが必要です。
Virtualenvの設定を変更する必要がない限り、virtualenvコマンドを毎回再実行する必要はありません。一度設定したら、必要なときにアクティブにするだけです。
なぜそれが起こるのか-起動時にサービスを実行している可能性があります:
ps -ef | grep python