文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 离线环境

2023-01-30 22:08

关注

比如:对于数据安全要求比较严格的机房,服务器是不允许上网的。那么我现在开发了一套python程序,需要一些模块,怎么运行?

 

有2个解决方案:

1. 使用requirement.txt离线安装打包好的包whl

请参考链接:
https://blog.csdn.net/wangyaninglm/article/details/54177720

这种方案,我一直没有测试成功,为什么?

因为某些whl文件,使用pip download下载不来,提示not found

好吧,我果断放弃了!

 

2. 使用虚拟环境virtualenv

我测试了一下,运行正常!

注意:必须保证服务器,已经安装好了python3和pip3。

如果是ubuntu系统,需要离线安装,请参考链接:

https://www.cnblogs.com/xiao987334176/p/9875480.html

 

下面详细介绍整个过程!

 

虚拟环境virtualenv

环境说明

系统是 ubuntu-16.04.5-server-amd64,默认已经安装好了python3,版本为3.5.2

已经安装好了python3-pip,版本为8.1.1

sudo apt-get install -y python3-pip

 

如果提示

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

 

使用以下命令处理

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

 

清理缓存,也就是/var/cache/apt目录下的deb包

apt-get clean all

 

安装virtualenv

sudo pip3 install virtualenv

 

提示:

You are using pip version 8.1.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

 

千万不要执行 pip install --upgrade pip

否则会造成pip崩溃!

 

创建虚拟目录

sudo mkdir /virtualenvs

创建虚拟环境

进入虚拟目录,创建虚拟环境venv

注意:下面的红色位置,需要根据自己的环境修改

cd /virtualenvssudo /usr/local/bin/virtualenv -p /usr/bin/python3 --no-site-packages venv

 

语法说明:

-p 指定python版本
–no-site-packages表示不包括系统全局的Python安装包,这样会更令环境更干净

 

指定豆瓣源

#创建目录mkdir ~/.pip
# 编辑配置文件vi ~/.pip/pip.conf

内容如下:

[global]
index-url = http://pypi.douban.com/simpletrusted-host = pypi.douban.com

 

安装相关模块

比如安装模块paramiko

sudo /virtualenvs/venv/bin/pip3 install paramiko

 

打包虚拟环境

比如打包venv

sudo tar zcvf venv.tar.gz venv

 

环境说明

系统是 ubuntu-16.04.5-server-amd64,默认已经安装好了python3,版本为3.5.2

 

拷贝文件到根目录

插入U盘或光盘,将venv.tar.gz复制到根目录下,解压

sudo mkdir /virtualenvssudo tar zxvf venv.tar.gz -C /virtualenvs/

 

进入python测试

/virtualenvs/venv/bin/python

导入模块 paramiko,实例化SSHClient

>>> import paramiko
>>> paramiko.SSHClient()
<paramiko.client.SSHClient object at 0x7f549e9aca90>

如果没有报错,说明成功了


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯