在我的工作中,我有一台运行在Linux上的旧机器,它没有连接到互联网。它预先安装了Python2.4.3,但我需要使用机器没有的一些库。理想情况下,我希望使用Python 3.6或更高版本,因为我已经为这个版本编写了经验/完成了代码。
作为参考,我将复制一些需要在有关计算机上运行的最难的代码(这是一个模块,用于从三列具有不同长度值的数据中绘制2D颜色图):
import matplotlib.pyplot as plt
from matplotlib.colors import BoundaryNorm
from matplotlib.colors import LogNorm
import numpy as np
import pylab as plb
import scipy.interpolate
from scipy.optimize import curve_fit
from scipy import asarray as ar,exp
import math as mt
data = 'aupnipam_scan41_3DFLR.txt'
f = np.genfromtxt(data)
x = f[:,][:,0]
y = f[:,][:,1]
z = f[:,][:,2]
i = 0
t = 0
xmatrix = [[0 for x in range(26)] for y in range(1024)]
ymatrix = [[0 for x in range(26)] for y in range(1024)]
zmatrix = [[0 for x in range(26)] for y in range(1024)]
while (i < 26):
j = 0
while (j < 1024):
xmatrix[j][i] = x[t]
j = j+1
t = t+1024
i = i+1
i = 0
j = 0
t = 0
while (j < 1024):
i = 0
while (i < 26):
ymatrix[j][i] = y[j]
i = i+1
j = j+1
i = 0
j = 0
while (i < 26):
j = 0
while (j < 1024 and t < 26624):
if(z[t] == 0):
z[t] = 0.1
zmatrix[j][i] = z[t]
j = j+1
t = t+1
i = i+1
t = t+1
levels = np.linspace(0, 50, 51)
cmap = plt.get_cmap('magma')
norm = LogNorm(1, 100, clip=True)
im = plt.pcolormesh(xmatrix, ymatrix, zmatrix, cmap=cmap, norm=norm)
plt.colorbar(im)
plt.show()现在,我想我真正的问题是,在这里运行我的代码最简单的方法是什么?我做了相当基本的数字处理--计算,没有太困难,正如您所看到的;我相信Python2.4有能力运行它,但是我需要matplotlib、scipy等来运行我所拥有的。
或许有办法让这台机器暂时连接到互联网上,以安装我需要的设备,但我为美国能源部()的延期工作,这样做是个大麻烦。或者,我非常希望将Python3.6的安装放在USB上,以便复制它并在Linux设备上手动设置环境路径。这个能行吗?我需要先卸载Python2.4吗?在这样做的过程中还有其他步骤/复杂吗?我知道,不使用库的我自己的代码是可能的,但我不认为我有足够的编码技能来实现这一点。
我知道上面提到的几种可能性,但我不完全确定如何才能真正做到这一点;也许经历过这一过程的人或类似的人会有所帮助。我试着翻阅在线指南,让python+libraries在Linux设备上工作,但我所看到的一切都假定了互联网的连通性。任何帮助都是非常感谢的,谢谢你提前!
发布于 2018-07-17 18:11:13
我喜欢你把Python3.6放在USB上的解决方案。可能最简单的方法(我还没有尝试过)是:
virtualenv /path/to/usb/whatever)。pip install....)。source /path/to/usb/whatever/bin/activate)上激活您的虚拟主机。现在您应该能够运行python myscript.py了
等等.我忘了一些东西。如果您的任何支持库依赖于系统库(而IIRC,numpy依赖于BLAS库等),我认为您可能是SOL。
https://stackoverflow.com/questions/51387408
复制相似问题