(ANSA二次开发)如何在离线内网机器的ansa中导入python第三方包

ANSA导入第三方包需要利用conda。conda可以建立一个虚拟环境,虚拟环境包含了指定版本的python,可以在这个虚拟环境中用conda install安装包。不同的虚拟环境之间的包和python版本是独立的。而ansa可以引用conda的虚拟环境。因此,导入第三方包首先需要在连接互联网的机器上创建conda虚拟环境,其次在虚拟环境中安装包(conda install需要联网),然后把这个虚拟环境复制拷贝到不联网的机器中,最后再添加虚拟环境在ansa中。

我这里是使用Anaconda,和其他文章以及文档用的miniconda有所不同。

第一步,创建虚拟环境。首先,在可以联网的机器上打开cmd.exe,定位路径到Anaconda安装路径下的script文件夹,我电脑的路径是D:\Software\anacoda\Scripts,用下列命令创建conda环境:

conda create --name python381 python=3.8.1

(注:这里的python版本需要与ansa一样,在ansa中打开scriptEdit,输入python代码:

import sys
print(sys.version)

可以看到ansa使用的python版本),用下列命令激活

conda init cmd.exe
conda activate python381

显示

即为成功。再在虚拟环境中安装第三方包,我这里安装的是urllib3。

conda install urllib3

第二步,复制虚拟环境。用下面命令复制虚拟环境

conda pack -n python381 -o python381.tar.gz

成功后在D:\Software\anacoda\Scripts可以看到文件python381.tar.gz,将这个文件传入不联网的机器中。我的内网机器Anaconda安装到C盘了,为了避免ansa访问不了,修改一下conda环境的默认路径

conda config --add envs_dirs D:/software/anacoda/env

。再将python381.tar.gz复制到上述路径中解压,解压过程中会有同名文件,全部选择替换。完成后打开cmd,进入Anaconda的Scripts的路径激活虚拟环境。

conda init cmd.exe
conda activate python381

第三步,在ansa中配置conda环境。这里官方文档给出的方案是

import sys
CONDA_ENV='/HOME/my_name/miniconda3/env/python38/lib/python3.8/site-packages'
sys.path.append(CONDA_ENV)

 但是Anaconda没有这个路径。我找到的办法是,先在pycharm导入conda环境(Python Interpreter中选择add interpreter在conda environment界面的using existing environment的下拉框里面选择我们的环境),再执行

import urllib3
import sys
print(sys.path)

将这里面所有和conda虚拟的环境相关的全部导入手动ansa。最后我在Ansa的ScriptEdit中的代码是

import sys
CONDA_ENV=['D:\\software\\anacoda\\env\\python381\\DLLs','D:\\software\\anaconda\\env\\python381\\lib','D:\\software\\anacoda\\env\\python381','D:\\software\\anacoda\\env\\python381\\lib\\site-packages']
for a in CONDA_ENV:
    sys.path.append(a)
import urllib3

成功运行。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值