문제

Python 3으로 포팅하고 싶은 작은 프로젝트가 있습니다. 어떻게해야합니까?

나는 사용을 사용하지 않고 코드를 실행했다. python2.6 -3 (대부분 제거 .has_key() 전화), 그러나 2to3 도구를 사용하는 가장 좋은 방법은 확실하지 않습니다.

2To3 도구를 사용 하여이 소스 코드를 3.0 구문으로 변환하십시오. 출력을 수동으로 편집하지 마십시오!

달리기 2to3 something.py Diff를 출력하는데, 이는 자체적으로 유용하지 않습니다. 사용 --write 플래그는 무언가를 덮어 쓰고 백업을 만듭니다 .. 내가해야 할 것 같습니다 ..

2to3 something.py
python3.0 something.py
mv something.py.bak something.py
vim something.py
# repeat

.. 조금 둥근 a 보는 것-이상적으로는 .. 같은 일을 할 수 있습니다.

mv something.py py2.6_something.py # once

2to3 py2.6_something.py --write-file something.py
vim py2.6_something.py
# repeat
도움이 되었습니까?

해결책

AHA, 당신은 2to3 출력을 patch 수정 된 파일을 새 파일에 쓸 수있는 명령 :

mv something.py py2.6_something.py
2to3 py2.6_something.py | patch -o something.py

다른 팁

2.x는 활성 개발의 코드베이스 여야하므로 2To3는 실제로 분기 또는 임시 디렉토리에서 실행되어야합니다. 왜 같은 디렉토리에 2.x 및 3.x 버전을 놓고 싶은지 잘 모르겠습니다. Distutils에는 3.0 설치에서 2to3를 실행하는 build_2to3 스크립트가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top