【问题标题】:Is it possible to install and import modules in the same file? (Windows)是否可以在同一个文件中安装和导入模块? (视窗)
【发布时间】:2015-03-22 13:47:43
【问题描述】:

我在 Windows 下运行 Python 脚本时遇到了一些问题。 我的代码如下所示:

import os
try:
    from fabric.api import run
except ImportError:
    if os.name == 'posix':
        os.system('pip install fabric')
    elif os.name == 'nt':
        os.system('C:\Python27\python.exe D:\Fabric-1.10.1\setup.py install')
    from fabric.api import run

它在 Linux 下工作,但在 Windows 下我得到 ImportError。 我可以通过将 try-except 子句放在另一个脚本中并从那里激活主脚本来使其工作,如下所示:

import os
try:
    from fabric.api import run
except ImportError:
    os.system('C:\Python27\python.exe D:\Fabric-1.10.1\setup.py install')
os.system('C:\Python27\python.exe C:\some_path\main_script.py')

它有效,但我想避免仅为导入和安装模块创建单独的脚本。

有没有什么办法可以在windows下重新加载环境,让新安装的模块马上对python可见?

【问题讨论】:

  • 你为什么要这样做?如果您只打算在自己的机器上运行脚本,则无需每次运行脚本时都尝试安装模块;这样做一次就足够了。如果您打算分发脚本,硬编码路径将不起作用。

标签: python windows python-import


【解决方案1】:

试试这个:


try:
    from fabric.api import run
except ImportError:
    import pip
    pip.main(['install', 'fabric'])
    from fabric.api import run

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 2018-06-13
    • 2017-04-01
    相关资源
    最近更新 更多