发布时间:2019-02-02 17:30:25编辑:admin阅读(4081)
比如:对于数据安全要求比较严格的机房,服务器是不允许上网的。那么我现在开发了一套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
下面详细介绍整个过程!
系统是 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
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/
/virtualenvs/venv/bin/python
导入模块 paramiko,实例化SSHClient
>>> import paramiko >>> paramiko.SSHClient() <paramiko.client.SSHClient object at 0x7f549e9aca90>
如果没有报错,说明成功了
47605
45985
36909
34469
29080
25713
24566
19714
19245
17756
5565°
6155°
5691°
5737°
6705°
5483°
5484°
5988°
5965°
7295°