2016-11-03 1 views
5

OError:忙しい[ERRNO 26]テキストファイル:私はvirtualenvのを再作成しようとする '/...myvirtualenv/bin/python'

[email protected]:~$ virtualenv --system-site-packages . 

私はこの例外を取得:

[email protected]:~$ 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' 

誰かがこの例外が発生する理由を知っていますか?

+0

再起動して、コンピュータを、おそらくゴーストアプリケーションを得ました。または、このファイル所有者はsystem_default_userではありません。 – dsgdfg

+0

@dsgdfgコンピュータを再起動した後も同じでした。ファイルの所有権は大丈夫です、私はそれを2回チェックしました。 – guettli

+0

パッケージアップデータでは、pythonとpythonの設定ファイルがロックされています。すべてのpythonプロセスを停止し、仮想envファイルの置き換え/削除/変更に 'bash'を使います。あるいは、あなたの変更を 'パッケージ'として使うこともできます。 – dsgdfg

答えて

8

私は正確に同じ問題:)

virtualenvのディレクトリ領域でPythonの実行可能ファイルのコピーを変更することによって、(私の知る限り)作品virtualenvのを持っていました。

すでにvirtualenvを使用しているプロセスで、python実行可能ファイルのコピーが「使用中」(技術的には実行中のメモリにmmap()されている)である必要があります。

virtualenvの設定を変更する必要がない場合は、毎回virtualenvコマンドを再実行する必要はありません。セットアップが完了すると、必要なときに起動するだけです。それがなぜ起こるかについては

は - それはあなたが起動時に実行されているサービス持っている可能性があります:、

ps -ef | grep python 
+0

はい、私はvirtualenvコマンドを再実行する必要はないことを知っています。ラップトップをubuntu-14からubuntu-16にアップデートしました。その後、再実行が必要になりました。 – guettli

+0

実生活の例が、別のsshセッションで開かれているdjangoシェルで、ファブリックでブートストラップするときにこのようなエラーが発生することがあります... – andi

関連する問題