2013-05-16 56 views
0

我有一個程序在這裏,我想轉換爲2.7。此代碼在Python 3.x中運行良好,但是,對於我的需要它必須是2.7。有人可以將它轉換爲python 2.7嗎?我聽說過3to2.py工具,但我知道如何獲得/使用它。無論如何,這裏是我3.3的代碼。如何使用python鍵入到cmd 2.7

def compiler(program): 
    import os, win32com.client, time 
    os.startfile("C:\\Windows\\System32\\cmd.exe") 
    time.sleep(2) 
    shell = win32com.client.Dispatch("WScript.Shell") 
    shell.AppActivate('C:\\Windows\\System32\\cmd.exe') 
    setup(program) 
    shell.SendKeys("py MyCompiling.py.setup("+program+") py2exe\n") 

def setup(program): 
    from distutils.core import setup 
    import py2exe 
    setup(console=[program + ".py"]) 

compiler('test1') 

編輯:當我嘗試運行我得到

ImportError: No module named win32com.client 

我必須單獨安裝該模塊?如果是這樣,有人可以發佈鏈接。

+0

python2.7下究竟失敗了什麼?乍一看,我沒有看到任何理由,除非'win32com.client'中的某些東西在python2.7下失敗... – mgilson

+1

win32com.client在2.7中正常工作我認爲它的'setup(program )' – Serial

+0

此代碼包含* NO * Python3-isms AFAICS。如果您在Python 2.7下運行時遇到問題,可能是因爲缺少模塊(如win32com,它似乎是一個可單獨安裝的模塊。)(http://stackoverflow.com/questions/14913607/how-to -install-win32com模塊-IN-A-的virtualenv))。請注意,3.x和2.7中的模塊是完全獨立的:在3.x中安裝模塊不會使其在2.7中可用,反之亦然。 – kampu

回答

0

是的,您必須單獨安裝庫。事實上,如果你訪問SourceForge page,你會發現2.7中有一個完全不同的二進制文件。如果您使用的是32位Python,則需要pywin32-218.win32-py2.7.exe;如果您使用的是64位Python,則需要pywin32-218.win-amd64-py2.7.exe

您可以通過GUI界面安裝它(當您嘗試執行的文件,該文件出現),或者可以稱之爲的easy_install它在命令行(如果你有setuptools的或分發安裝):

C:\> C:\Python27\Scripts\easy_install pywin32-218.win32-py2.7.exe 

如果要將庫安裝在使用virutalenv創建的虛擬環境中,使用easy_install是唯一的方法。