Я изменил свое имя пользователя, следуя этой теме: Как мне изменить свое имя пользователя?
Это было несколько недель назад, и я только что столкнулся с моей первой проблемой, Astropy (для python). 2.7) возникают проблемы при загрузке файлов, потому что он ищет в неправильной папке кэша. Сообщение об ошибке: IOError: [Errno 2] Нет такого файла или каталога: u '/ home / jill / .astropy / cache / download / py2 / bf6211066f3d9a9b058d46183baba6ab'. (мое старое имя пользователя было jill, и я вижу, что этот файл существует в моей новой домашней папке).
После отладки построчно создается впечатление, что ошибка исходит от модуля «Полка». Например, именно здесь / home / jill впервые вводится в URL.
Я попытался переустановить python (sudo apt-get install --reinstall python2.7) и переустановить astropy (pip2 uninstall astropy, pip2 install astropy).
* Полное сообщение об ошибке на Pycharm:
File "/home/jpsotka/Dropbox/Colibri/Simulation/corrections.py", line 74, in get_zenith
elginfield_altaz = ecliptic(lat=elat*u.degree, lon=elon*u.degree).transform_to(AltAz(obstime=time, location=elginfield))
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/coordinates/baseframe.py", line 934, in transform_to
return trans(self, new_frame)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/coordinates/transformations.py", line 1314, in __call__
curr_coord = t(curr_coord, curr_toframe)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/coordinates/transformations.py", line 914, in __call__
return supcall(fromcoord, toframe)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/coordinates/builtin_frames/cirs_observed_transforms.py", line 53, in cirs_to_altaz
xp, yp = get_polar_motion(obstime)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/coordinates/builtin_frames/utils.py", line 43, in get_polar_motion
xp, yp, status = iers.IERS_Auto.open().pm_xy(time, return_status=True)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/utils/iers/iers.py", line 600, in open
cls.iers_table = cls.read(file=filename)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/utils/iers/iers.py", line 456, in read
iers_a = Table.read(file, format='cds', readme=readme)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/table/table.py", line 2521, in read
out = io_registry.read(cls, *args, **kwargs)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/io/registry.py", line 531, in read
data = reader(*args, **kwargs)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/io/ascii/connect.py", line 39, in io_read
return read(filename, format=format, **kwargs)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/io/ascii/ui.py", line 353, in read
dat = reader.read(table)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/io/ascii/cds.py", line 322, in read
return super(Cds, self).read(table)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/io/ascii/core.py", line 1159, in read
self.lines = self.inputter.get_lines(table)
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/io/ascii/core.py", line 296, in get_lines
encoding=self.encoding) as fileobj:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/home/jpsotka/.local/lib/python2.7/site-packages/astropy/utils/data.py", line 206, in get_readable_fileobj
fileobj = open(name_or_obj, 'rb')
IOError: [Errno 2] No such file or directory: u'/home/jill/.astropy/cache/download/py2/bf6211066f3d9a9b058d46183baba6ab'
Process finished with exit code 1
При использовании astropy 1.0.10 или позже это должно очистить кэш без проблемы:
#! /usr/bin/env python
from astropy.utils import data
data.clear_download_cache()
Ссылка на документацию:
astropy.utils.data.clear_download_cache(hashorurl=None)
Очищает кэш файла данных путем удаления локального файла (файлов).
Параметры: hashorurl: ул. или Ни один
Если Ни один, целый кэш очищен. Иначе, или указывает хеш для кэшируемого файла, который, как предполагается, удален, или URL, который должен быть удален из кэша если существующий.
https://docs.astropy.org/en/stable/api/astropy.utils.data.clear_download_cache.html
Свяжитесь со связанной ошибкой и вытяните запрос:
Я не знаю ни о каком способе полностью избежать этого, т.е. заставить Python пропустить несуществующий кэш. Однако существует один простой способ получить Ваши программы, работающие снова, и это должно заставить его появиться, что существует кэш (или безотносительно ресурса) в /home/jill
папка. Вы делаете это путем создания названной символьной ссылки /home/jill
к (реальному) /home/jpsotka
:
sudo ln -s /home/jpsotka /home/jill
Это все. Конечно, если существует другой пользователь jill
в системе, каталоге /home/jill
будет уже существовать, и таким образом, ссылка не может быть создана.
Я предполагаю, что через некоторое время, файлы в кэше будут полностью заменены, и можно удалить ссылку:
sudo rm /home/jill
Заметьте, что это не удаляет папку, на которую ссылка указывает на, просто сама ссылка.