背景:我们需要安装anaconda方便管理python环境及工具包。
参考:centOS与Ubuntu较为类似,之前做过ubuntu上conda的安装,可参考这几篇略微更改如法炮制。此文方法为最简单方法,即通过yml文件直接安装并配置相应的环境,亲测有效。
Ubuntu14.04安装Anaconda3-2018.12-x86_64
运用Anaconda对python 3.6与tensorflow-gpu与pip环境配置
虚拟环境中用Anaconda安装显卡CUDA驱动与CUDA运行版本匹配
目录
一、安装anaconda
在相应官网下载安装包 https://www.anaconda.com/distribution/#download-section
安装包地址 https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
1.1 安装包
安装包下载到服务器(以下两个命令行存疑,因权限不够,只能用rz命令来加载文件)
curl -O https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
这个可以进行下载。
curl https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
下面这个会是乱码,不可用。
先用mac把安装包下载下来,再用rz上传到服务器,并另开一个终端不停的 ls -h -l 来看相应的文件大小。
1.2 安装
sudo bash Anaconda3-2018.12-Linux-x86_64.sh
一堆确认,确认路径为 PREFIX=/root/anaconda3(此路径内存不够,因为root内存用完了,安到一半提示硬盘不足。因为没权限,所以联系管理员帮忙把之前安一半的删了,才腾出根目录的内存。需要重新找路径安装)
[lib]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 19G 0 100% /
tmpfs 127G 11M 127G 1% /dev/shm
/dev/sda3 14G 193M 14G 2% /var
/dev/sda4 14G 852M 13G 7% /noah
/dev/sda5 4.6G 563M 4.0G 13% /matrix
/dev/sda6 1.9G 256M 1.6G 14% /has
/dev/sda7 6.4G 24M 6.3G 1% /tmp
/dev/sda8 808G 364G 444G 46% /home
/dev/sdb1 3.6T 197M 3.6T 1% /home/ssd1
afs_mount 202P 130P 73P 65% /home/img/AFS/models
这次安装到/home路径之下
PREFIX=/home/anaconda3
1.3 自带激活
自带激活
in your /root/.bashrc ? [yes|no]
[no] >>> yes
Initializing Anaconda3 in /root/.bashrc
A backup will be made to: /root/.bashrc-anaconda3.bak
cp: writing `/root/.bashrc-anaconda3.bak': No space left on device
For this change to become active, you have to open a new terminal.
Thank you for installing Anaconda3!
root上没有空间了。为了避免增加root盘的内存占用,我们选择no,然后手动激活,选择yes自动激活。
暂时需要增加root空间,不然很多活动都不可行。此时已经可以运行conda了
安装目录下的bin之中有conda可以运行:/home/anaconda3/bin/conda list即可看到相应的命令。
1.4 手动激活
我们可以将其添加到环境变量之中激活:
在终端输入$sudo vi /etc/profile,打开profile文件。
在文件末尾i添加一行:export PATH=/home/jcx/anaconda3/bin:$PATH,其中,将“/home/jcx/anaconda3/bin”替换为你实际的安装路径。保存wq!
然后source一下激活环境变量:
方法1:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# . /etc/profile
注意: . 和 /etc/profile 有空格
方法2:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# source /etc/profile
此时输入conda即可生效conda
二、配置pytorch与CUDA
运用yml文件自动对pytorch和CUDA环境进行配置。
2.1 用yml直接创建激活
创建如下文件,命名为 environment.yml
name: torch
channels:
- peterjc123
- defaults
dependencies:
- python=3.5.5
- pytorch=0.4
- scipy
- pip:
- dominate==2.3.1
- git+https://github.com/pytorch/vision.git
- Pillow==5.0.0
- numpy==1.14.1
- visdom==0.1.7
conda env create -f environment.yml
则会自动按照其中要求进行配置与激活。
Ubuntu14.04安装Anaconda3-2018.12-x86_64 运用Anaconda对python 3.6与tensorflow-gpu与pip环境配置
2.2 安装完成
上步艰难的完成
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Collecting git+https://github.com/pytorch/vision.git (from -r /home/xingxiangrui/cyclegan_pix2pix/condaenv.qbcmf03z.requirements.txt (line 2))
Cloning https://github.com/pytorch/vision.git to /tmp/pip-req-build-sg80nds7
error: while accessing https://github.com/pytorch/vision.git/info/refs
fatal: HTTP request failed
Command "git clone -q https://github.com/pytorch/vision.git /tmp/pip-req-build-sg80nds7" failed with error code 128 in None
CondaValueError: pip returned an error
出现几个done,可能表明已经运行完成,但是仍然有报错,可能跟vision有关。
此时已经创建环境:输入 conda env list即可查看,
[ cyclegan_pix2pix]$ conda env list
# conda environments:
#
base * /home/anaconda3
torch /home/xingxiangrui/.conda/envs/torch
激活环境可以用 source activate torch,即可运行配置好torch的环境。
(torch) [datasets]$ python
Python 3.5.5 |Anaconda, Inc.| (default, May 13 2018, 21:12:35)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>>
三、安装其他项
实际运行程序的时候,一些库没有安装,因此需要进行安装以便运行。
3.1 安装PIL
报错:ImportError: No module named 'PIL'
解决:pip install pillow
ImportError: No module named 'PIL'
(torch) []$ pip install Pillow
3.2 安装torchvision
报错:
ImportError: No module named 'torchvision'
解决 :pip install torchvision
3.3 安装其他项目
pip install dominate
pip install visdom
pip install cython
四、权限
运行实际程序时候发现python没有用户没有shared memory(/dev/shm)的读写权限
https://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied
4.1 读取权限
SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx)
File "/home/xingxiangrui/.conda/envs/torch/lib/python3.5/multiprocessing/synchronize.py", line 60, in __init__
unlink_now)
PermissionError: [Errno 13] Permission denied
出现此报错因为没有权限
[~]$ ls -ld /dev/shm
drwxr-xr-x 2 root root 80 Apr 4 13:38 /dev/shm
在/etc/fstab添加下面一行:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
添加后该文件如下:
#
# /etc/fstab
# Created by anaconda on Tue Jan 29 13:45:09 2013
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
#/dev/sda1 swap swap defaults 0 0
/dev/sda2 / ext2 defaults 0 1
/dev/sda3 /var ext2 defaults 0 1
/dev/sda4 /noah ext2 defaults 0 1
/dev/sda5 /matrix ext2 defaults 0 1
/dev/sda6 /has ext2 defaults 0 1
/dev/sda7 /tmp ext2 defaults 0 1
/dev/sda8 /home ext4 defaults 0 0
/dev/sdb1 /home/ssd1 ext4 defaults 0 0
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
4.2 重启并连接
重新启动一下,然后ssh连接上。
sudo shutdown -r now
重启一次大概一两分钟。
权限问题visdom.server不能用,但是所幸开始可以用pytorch了。配置完成!
五、激活环境
直接source activate torch即可激活
conda常用命令
5.1 查看安装成功及当前版本
conda -V
(n2n) jcx@smart-dsp:~/Desktop/xxr2019/NVlabs_noise2noise$ conda -V
conda 4.5.12
5.2 查看安装包及当前环境
1)conda list 查看安装了哪些包。
2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境
3)conda update conda 检查更新当前conda
(n2n) jcx@smart-dsp:~/Desktop/xxr2019/NVlabs_noise2noise$ conda env list
# conda environments:
#
n2n * /home/jcx/.conda/envs/n2n
base /home/jcx/anaconda3
5.3 创建,激活,删除python虚拟环境
创建虚拟环境
使用 conda create -n your_env_name python=X.X(2.7、3.6等)
命令创建python版本为X.X、名字为your_env_name的虚拟环境。
your_env_name文件可以在Anaconda安装目录envs文件下找到。
激活虚拟环境
注意linux下为source,win为activate
Linux
: source activate your_env_name(虚拟环境名称)
Windows
: activate your_env_name(虚拟环境名称)
关闭虚拟环境
Linux
: source deactivate
Windows
: deactivate
删除虚拟环境
使用命令conda remove -n your_env_name(虚拟环境名称) --all, 即可删除
删除环境中某个包
使用命令conda remove --name your_env_name package_name 即可
https://blog.youkuaiyun.com/weixin_41010198/article/details/84566800
克隆环境
有些情况下,需要将环境克隆一份出来,新的环境不用重新配置,可以通过这种方式:
方法一、conda create –name 新名字 –clone 旧名字
例如:应该用-n : conda create -n torch0.3 -clone torch
方法二、地址复制
首先找到要复制的环境的路径:conda info --env
然后利用克隆命令复制到你要配的账户:conda create -n name --clone path
第二种方法:生成yml文件
首先导出配置文件:conda env export --file torch.yml
根据配置文件导入环境:conda env create -f name.yml
六、克隆及更改
我们想要载创建一个环境,把pyTorch的版本降到0.3.1,以便更好运行ML-GCN的代码。
6.1 直接克隆
https://blog.youkuaiyun.com/qq_35860352/article/details/80685175
本想直接克隆,再卸载,然后装低版本
conda create -n torch030 -clone torch
但是报错:
CondaHTTPError: HTTP 404 NOT FOUND for url <https://conda.anaconda.org/lone/noarch/repodata.json>
Elapsed: 00:01.171801
CF-RAY: 4cc697fd7f46d1f5-HKG
The remote server could not find the noarch directory for the
requested channel with url: https://conda.anaconda.org/lone
As of conda 4.3, a valid channel must contain a `noarch/repodata.json` and
associated `noarch/repodata.json.bz2` file, even if `noarch/repodata.json` is
empty. please request that the channel administrator create
`noarch/repodata.json` and associated `noarch/repodata.json.bz2` files.
$ mkdir noarch
$ echo '{}' > noarch/repodata.json
$ bzip2 -k noarch/repodata.json
You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state.
Further configuration help can be found at <https://conda.io/docs/config.html>.
6.2 通过yml安装
只能用yml重新安装。这种方法的缺点就是重复的包可能需要重新下载。
https://www.cnblogs.com/a-little-v/p/10006575.html
创建下面的yml文件,命名为torch031.yml
name: torch031
channels:
- peterjc123
- defaults
dependencies:
- python=3.5.5
- pytorch=0.3.1
- scipy
- pip:
- dominate==2.3.1
- Pillow==5.0.0
- numpy==1.14.1
- visdom==0.1.7
- torchnet
- torchvision==0.2.0
- tqdm
conda env create -f torch031.yml
依然需要下载很久。