博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
所谓独立环境
阅读量:4557 次
发布时间:2019-06-08

本文共 764 字,大约阅读时间需要 2 分钟。

有一个操作,我大概做过一百遍,但是这一百遍,我其实都不知道我到底在做什么,那就是

每次我用tensorflow之前都会这样来一下,这是当时装tf的时候官网安装教程的建议,让我下了一个什么程序,“为tensorflow设置一个独立的运行环境。”我当时就闭眼照做了,这一百遍我都不知道它到底在干嘛也没耽误用tf,但我最近不是第501次打算重新做人嘛,所以要跟经我手的每一个操作都死磕到底。

什么叫“独立的运行环境”,docker也干的是这样一件事情,这个抽象的说法是说目标程序运行不受本地环境影响,但物理层面到底发生了什么事情?

所谓程序运行的“环境”,就是两件事,它的依赖程序在本地1.有没有2.在哪里,而且这个在哪里的讨论范围,不是你整个pc,而是你给它的搜索路径范围,所以我们有环境变量PATH。那么“独立的运行环境”呢?那就是改变该程序运行时的搜索路径,把它的依赖包单独装一套,然后把搜索路径范围限定在这里。

一开始我以为这个搞独立运行环境的程序屏蔽了PATH,自己整了一个什么依赖项搜索机制,但是在启动后输出了一下PATH发现:

所以前面的想法是错误的,它是把自己的窝点位置加进了PATH,搞了一个优先搜索。想想也当然应该这样,除了目标程序的依赖项,你“进入这个独立环境”后该用的general工具比如cd ls这些还得用,它不可能把这些全给你配齐,也不知道你究竟会用到什么,所以只需要把自己的窝点路径加入PATH优先搜索,那么只要是它的依赖项,就用它自己的,general的工具,该怎么办怎么办。

这就通顺了,把activate打开一看,果然是个改PATH值的脚本文件,用完了之后,deactivate再改回来。

转载于:https://www.cnblogs.com/sylvialmy/p/11190015.html

你可能感兴趣的文章
[HDOJ3711]Binary Number(枚举)
查看>>
leetcode-Single Number III-260
查看>>
[ActionScript&Flex] FlashBuilder编译条件之如何屏蔽调试代码
查看>>
AngularJS 表达式
查看>>
微信开发学习之路(一)
查看>>
将现有硬盘(分区)无损创建为RAID1
查看>>
[原] GLES在iOS和Android上的不同
查看>>
分布式监控解决方案zabbix03-监控mysql
查看>>
[转]DB2错误代码大全
查看>>
[转]AJAX 简介
查看>>
【转】SWT/JFace的对话框
查看>>
2019-2-28作业
查看>>
VS2010+WDK开发环境搭建最简易方法
查看>>
果然逆天,处理一亿条int32数据排序,需要耗时32秒
查看>>
解锁Dagger2使用姿势(二) 之带你理解@Scope
查看>>
设计模式——抽象工厂模式详解
查看>>
十年,青春就是一转眼的事
查看>>
C++编程规范和各种资源
查看>>
两只小熊队高级软件工程第七次作业敏捷冲刺2
查看>>
[原创]如何编写多个阻塞队列连接下的多生产者多消费者的Python程序
查看>>