2013-09-26 3 views
0

Первоначально под названием: MPLCONFIGDIR не .matplotlib записываемые на импорт MatplotlibOSError: [Errno 26] Текстовый файл занят на бродягу с synced_folder

Я бегу учебник для pylearn2, и я получаю некоторые ошибки при импорте matplotlib.pyplot. Некоторая информация, которая, вероятно, не нужна, заключается в том, что я запускаю ее в VirtualBox, сгенерированном Vagrant. Я видел пару подобных ошибок, все ссылающиеся на django, но я не пытаюсь использовать веб-хостинг, и я не в космосе. Я пытался запустить python как root, так как это небезопасно, но он все еще не работает. Я также попытался установить свою переменную MPLCONFIGDIR с той же ошибкой. Пожалуйста, дайте мне знать, если есть дополнительная информация, которую я могу включить. Благодарю.

Traceback (most recent call last): 
    File "/home/vagrant/pylearn2/pylearn2/scripts/plot_monitor.py", line 274, in <module> 
    main() 
    File "/home/vagrant/pylearn2/pylearn2/scripts/plot_monitor.py", line 57, in main 
    import matplotlib.pyplot as plt 
    File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 774, in <module> 
    rcParams = rc_params() 
    File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 692, in rc_params 
    fname = matplotlib_fname() 
    File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 604, in matplotlib_fname 
    fname = os.path.join(get_configdir(), 'matplotlibrc') 
    File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 253, in wrapper 
    ret = func(*args, **kwargs) 
    File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 475, in _get_configdir 
    raise RuntimeError("'%s' is not a writable dir; you must set %s/.matplotlib to be a writable dir. You can also set environment variable MPLCONFIGDIR to any writable directory where you want matplotlib data stored "% (h, h)) 
RuntimeError: '/home/vagrant' is not a writable dir; you must set /home/vagrant/.matplotlib to be a writable dir. You can also set environment variable MPLCONFIGDIR to any writable directory where you want matplotlib data stored 

/дом/бродяга мой домашний каталог, так что для записи, но заинтересованный ...

[email protected]:~$ ls -ld /home/vagrant 
drwxrwxrwx 1 vagrant vagrant 16384 Sep 26 17:40 /home/vagrant 
[email protected]:~$ ls -ld /home/vagrant/.matplotlib/ 
drwxrwxrwx 1 vagrant vagrant 4096 Sep 26 18:07 /home/vagrant/.matplotlib/ 

UPDATE:

, кажется, вызвано

OSError: [Errno 26] Text file busy: '/home/vagrant/.matplotlib/tmp3ciLMo' 

, который, как я подозреваю, имеет omething делать с бродячим монтажом моей домашней папки в виде synced_folder

+0

является файловая система чтения/записи? – tacaswell

+0

и что делает 'touch/home/vagrant/test' из командной строки? – tacaswell

+0

yup, все читать/писать. touch/home/vagrant/test >> -rwxrwxrwx 1 vagrant vagrant 0 26 сен 22:21/home/vagrant/test –

ответ

0

У меня такая же ошибка, когда я делаю vagrant provision. Ошибка 26 возникает при попытке открыть исполняемый файл в режиме записи, который выполняется. Используйте lsof <file>, чтобы просмотреть процесс выполнения файла. Вы можете избежать этой ошибки после завершения процесса.

Ссылки:

http://man7.org/linux/man-pages/man3/errno.3.htm

https://stackoverflow.com/a/15514388/547578

Смежные вопросы