从用户指定的目录导入python模块?

时间:2013-08-21 18:33:24

标签: python python-2.7 pyinstaller

我有一个PyInstaller的跨平台GUI界面。我想检查已安装的PyInstaller的版本。用户提供PyInstaller的安装文件夹。我可以通过命令行python pyinstaller --version执行此操作,但这会在Windows上打开一个我想避免的命令提示符。有没有办法在Python模块中访问get_version()函数,而不是与正在运行的应用程序在同一路径中?或者,如何在保持应用程序的跨平台兼容性的同时阻止命令提示符在Windows上启动。

到目前为止,这是我的代码:

def pyversion(installdir):
    flags=[]
    flags.append(sys.executable)
    pylocation = os.path.join(installdir, 'pyinstaller.py')
    flags.append(pylocation)
    flags.append('--version')
    p = subprocess.Popen(flags, 
                         stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    out,err = p.communicate()
    return float(out.strip()[:3])

1 个答案:

答案 0 :(得分:2)

my_path = "some/path/blah"
os.path.insert(0,my_path)
import my_custom_module

你只需要在导入之前将它添加到路径中......或者我可能不明白你在问什么