1. python导入上级目录下的文件
python导入当前文件夹中的包非常简单,但是导入上层文件夹的包就比较困难了。不过还好python解释器给出了包相对导入功能,但是与平常的相对目录写法不太一样,新手比较难以发现。
以下为对python官方文档的装载:
给定以下的包布局结构:
package/
__init__.py
subpackage1/
__init__.py
moduleX.py
moduleY.py
subpackage2/
__init__.py
moduleZ.py
moduleA.py
相对导入使用前缀点号。 一个前缀点号表示相对导入从当前包开始。 两个或更多前缀点号表示对当前包的上级包的相对导入,第一个点号之后的每个点号代表一级。
不论是在 subpackage1/moduleX.py 还是 subpackage1/init.py 中,以下导入都是有效的:
from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo
绝对导入可以使用 import <> 或 from <> import <> 语法,但相对导入只能使用第二种形式;
其中的原因在于:
import XXX.YYY.ZZZ
应当提供 XXX.YYY.ZZZ 作为可用表达式,但 .moduleY 不是一个有效的表达式。
2. 安装指定版本的tensorflow
conda install --channel https://conda.anaconda.org/anaconda tensorflow==1.8.0
# 或者
pip install tensorflow==1.8.0
3. 实验配置总体过程
- 要求安装python=3.5.4,目前来说这个版本有点低,导致后续包的安装有问题,因此下载python==3.6.4
pip install python=3.6.4
- 安装tensorflow==1.8.0
pip install tensorflow=1.8.0
报错:protobuf requires Python '>=3.7' but the running Python is 3.6.4
解决:更新pip:python -m pip install --upgrade pip
- 解决python==3.6.4下的tensorflow==1.8.0无法下载的问题
python -m pip install html5lib bleach ipykernel python -m pip install --ignore-installed --upgrade pip setuptools
- 安装gym==0.10.5
pip install gym=0.10.5
5. 安装pyglet==1.4.6
pip install pyglet==1.4.6 -i https://pypi.mirrors.ustc.edu.cn/simple
6. numpy==0.14.5
用pip下载报错,使用conda可以