2012-04-11 27 views
18

He instalado Python 32 paquete a laPython 2to3 ventanas CMD

C: \ python32

también han establecido los caminos:

PYTHONPATH | C: \ Python32 \ Lib; C: \ Python32 \ DLLs; C: \ Python32 \ Lib \ lib-tk;

RUTA; C: \ Python32;

Me gustaría utilizar la herramienta "2to3", pero CMD no lo reconoce.

CMD: c:\test\python> 2to3 test.py 

¿Debo agregar una ruta adicional para "2to3" o algo así?

Gracias

Respuesta

28

2to3 es en realidad un script en Python que se encuentra en la carpeta Tools/scripts de Python su instalación.

Por lo que debe funcionar de esta manera:

python.exe C:\Python32\Tools\scripts\2to3.py your-script-here.py 

ver este para más detalles: http://docs.python.org/library/2to3.html

+0

Funciona. Gracias – John

+4

Utilice la opción -w para no solo comprobar lo que debería cambiar, sino también para escribir el código convertido: 'python.exe C: \ Python32 \ Tools \ scripts \ 2to3.py -w su-script-here.py' – RolfBly

6

Puede configurar 2to3.py para funcionar como un comando cuando se escribe 2to3 mediante la creación de un lote archivo en el mismo directorio que su archivo python.exe (suponiendo que el directorio ya está en su ruta de Windows - no tiene que ser este directorio, es un lugar conveniente, relativamente lógico).

Supongamos que tiene Python instalado en C:\Python33. Si no está seguro de dónde está la instalación de python, puede averiguar dónde cree que está Windows escribiendo where python desde la línea de comandos.

Debe tener python.exe en y 2to3.py en C:\Python33\Tools\Scripts.

Crear un archivo por lotes llamado 2to3.bat en C:\Python33\Scripts y poner esta línea en el archivo por lotes

@python %~dp0\..\Tools\Scripts\2to3.py %* 

El %~dp0 es la ubicación del archivo por lotes, en este caso c:\Python33\Scripts y los %* pases todos los argumentos de la orden línea al script 2to3.py. Después de guardar el archivo .bat, usted debe ser capaz de escribir 2to3 desde la línea de comandos y ver

At least one file or directory argument required. 
Use --help to show usage. 

He encontrado esta técnica útil cuando se instala desde setup.py, porque a veces el script de configuración espera 2to3 estar disponible como un comando.

+1

Gran respuesta ! Eso es aproximadamente lo mismo que he pensado. Solo sugiero agregar @ a la línea de archivo .bat para suprimir la salida y mover el archivo a C: \ Python35 \ Scripts dir, ya que es una mejor opción para archivos como ese (por ejemplo, pip.exe y easy_install están ubicados allí) –

+0

Esos son todos excelentes refinamientos. Voy a editar para reflejar sus sugerencias – monknomo

-2

Aparentemente, el directorio mame "C" es "sintaxis no válida".

Todas las siguientes variantes "no válido":

python c:\Python34\Tools\Scripts -w c:\python\batch.py 
python c:\\Python34\\Tools\\Scripts -w c:\\python\\batch.py 
python.exe C:\Python34\Tools\Scripts\2to3.py -w C:\python\batch.py 
python.exe C:\\Python34\\Tools\\Scripts\\2to3.py -w C:\\python\\batch.py 

Etc. Cuando puse comillas, la cita de cierre es "sintaxis no válida".

+0

Entonces, ¿qué hay de malo en esta publicación? A alguien no le gusta el formato, o el hecho de que señala el error de la "solución" publicada anteriormente? – WombatBob