어떻게든 내 ext3 파일 시스템의 일부가 손상되었고 대부분의 Python 설치가 엉망이 되었습니다. 내가 즉시 알아차릴 수 있었던 유일한 것은 Python에서 누락된 모듈 오류가 발생했다는 것입니다. 관련 디렉토리로 CD를 이동하려고 하면 다음과 같은 결과가 나타납니다.
EXT3-fs error (device mmcblk0p2): htree_dirblock_to_tree: bad entry in directory #444159: directory entry across blocks - offset=0, inode=166100, rec_len=59284, name_len=255
EXT3-fs error (device mmcblk0p2): htree_dirblock_to_tree: bad entry in directory #444137: rec_len % 4 != 0 - offset=0, inode=290535, rec_len=39605, name_len=253
그래서 저는 이 디렉토리를 rm -rf로 설정하고 NumPy를 다시 설치하기로 결정했습니다. 그렇게 빠르지는 않다:
root@napajohn:/usr/lib/pyshared/python2.6/numpy-1.6.0# python setup.py
Running from numpy source directory.Traceback (most recent call last):
File "setup.py", line 196, in <module>
setup_package()
File "setup.py", line 173, in setup_package
from numpy.distutils.core import setup
File "/usr/lib/pyshared/python2.6/numpy-1.6.0/numpy/distutils/__init__.py", line 7, in <module>
import ccompiler
File "/usr/lib/pyshared/python2.6/numpy-1.6.0/numpy/distutils/ccompiler.py", line 7, in <module>
from distutils.ccompiler import *
File "/usr/lib/python2.6/distutils/__init__.py", line 1
d__2);
^
SyntaxError: invalid syntax
그 오류는 사실입니다. /usr/lib/python2.6/distutils/__init__.py 파일은 파일의 위쪽 절반이 잘린 것처럼 중간 표현식을 시작합니다.
그래서 다른 버전의 Python이 설치되어 있는지 확인했습니다 pyversions -i
.
File "/usr/lib/python2.6/ConfigParser.py", line 1
.i,
^
SyntaxError: invalid syntax
내 파일은 모두 어떻게 됐나요? 추가 정보 없이는 이 질문에 답변하기가 어렵다는 것을 알고 있지만 이 경로를 진행하기 전에 다른 것은 영향을 받지 않는다고 순진하게 가정하는 첫 번째 대체 솔루션으로 컨텍스트를 전환하겠습니다.
첫째, 질문입니다. 추가 기능 소프트웨어(또는 더 구체적으로 Python)를 설치하기 위한 "올바른" 위치는 어디에 있습니까? 나는 apt를 통해 다운로드하지 않는 항목의 압축을 풀고 설치하려면 항상 /opt를 선택합니다.
다음 질문은 다음과 같습니다.
root@napajohn:/opt/python/Python-2.7.3# ./configure
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking machine type as reported by uname -m... armv7l
checking for --without-gcc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/opt/python/Python-2.7.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
나는 gcc가 없나요? ? 좋아요, 어쨌든 설치하겠습니다. 업데이트를 실행한 다음
root@napajohn:/opt/python/Python-2.7.3# apt-get install gcc-4.4
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
gcc-4.4 : Depends: gcc-4.4-base (= 4.4.5-8) but 4.4.5-8em1 is to be installed
Depends: cpp-4.4 (= 4.4.5-8) but 4.4.5-8em1 is to be installed
Recommends: libc6-dev (>= 2.5) but it is not going to be installed
E: Broken packages
하지만 저는 gcc-4.4-base와 cpp-4.4를 가지고 있습니다!
root@napajohn:/opt/python/Python-2.7.3# apt-get install gcc-4.4-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc-4.4-base is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
root@napajohn:/opt/python/Python-2.7.3# apt-get install cpp-4.4
Reading package lists... Done
Building dependency tree
Reading state information... Done
cpp-4.4 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
몇 번 검색해 본 결과 버전 불일치(용어?)로 인해 발생한 것일 수 있다고 생각했습니다.
여기서 어디로 가야할지 잘 모르겠습니다. 더 큰 질문은 파일 문제가 Python과 관련이 없는지 여부입니다. fsck
rootfs에서 디스크 검사를 실행 해야 합니까 ? 임베디드 장치에서 이 작업을 어떻게 수행합니까?
root@napajohn:/opt/python/Python-2.7.3# cat /etc/debian_version
6.0.4
root@napajohn:/opt/python/Python-2.7.3# df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 250876 0 250876 0% /lib/init/rw
udev 10240 156 10084 2% /dev
tmpfs 250876 0 250876 0% /dev/shm
rootfs 7597856 1722208 5489688 24% /