首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有可能在不安装导入模块的情况下从另一台机器运行python脚本?

有没有可能在不安装导入模块的情况下从另一台机器运行python脚本?
EN

Stack Overflow用户
提问于 2018-04-20 12:48:48
回答 3查看 2.1K关注 0票数 2

嗨,我有一个Python(版本3.6)脚本,这是我在我的笔记本电脑上开发的。但我需要从另一台服务器运行该脚本。我在服务器上安装了相同版本的Python,但没有安装脚本中导入的模块。这些模块安装在我的笔记本电脑上。

是否可以在不安装服务器中导入的模块的情况下从服务器运行puthon脚本?

谢谢Shanto

EN

回答 3

Stack Overflow用户

发布于 2018-04-20 13:49:40

这是真的,从技术上讲,你确实需要安装依赖包。但是,您可以通过编程的方式安装它们,方法是在您的代码中包含一个前奏,用于检查这些软件包,如果它们不可用,则使用pip安装它们。

不推荐使用:

您可以使用pip模块来安装,如下所示

代码语言:javascript
复制
try:
    import package1
except ModuleNotFoundError:
    import pip    
    pip.main(['install', pandas])
    import package1

但是,不推荐使用这种方式,因为(还有其他原因) pip不是线程安全的(请参阅here了解完整的原理)。

推荐方式: subprocess

推荐的方法是使用subprocess (标准)模块

代码语言:javascript
复制
try:
    import package1
except ModuleNotFoundError:
    import subprocess
    import sys    
    subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'package1']) 
    import package1
票数 0
EN

Stack Overflow用户

发布于 2018-04-20 14:34:37

您无法在服务器上安装软件包的原因是什么?您可以尝试使用virtualenv,或者将所需的包安装在与代码相同的文件夹中,并将整个文件夹部署到服务器:

代码语言:javascript
复制
pip install -t <dir>
票数 0
EN

Stack Overflow用户

发布于 2018-05-06 18:44:52

我认为您可以使用pynistaller或py2exe或任何其他包来将python脚本转换为可执行文件。创建可执行文件(.exe)文件后,无需安装python模块即可运行该文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49934177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档