背景:我们需要安装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
1.1 安装包
1.2 安装
1.3 自带激活
1.4 手动激活
二、配置pytorch与CUDA
2.1 用yml直接创建激活
2.2 安装完成
三、安装其他项
3.1 安装PIL
3.2 安装torchvision
3.3 安装其他项目
四、权限
4.1 读取权限
4.2 重启并连接
五、激活环境
conda常用命令
5.1 查看安装成功及当前版本
5.2 查看安装包及当前环境
5.3 创建,激活,删除python虚拟环境
在相应官网下载安装包 https://www.anaconda.com/distribution/#download-section
安装包地址 https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
安装包下载到服务器(以下两个命令行存疑,因权限不够,只能用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 来看相应的文件大小。
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
自带激活
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即可看到相应的命令。
我们可以将其添加到环境变量之中激活:
在终端输入$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
运用yml文件自动对pytorch和CUDA环境进行配置。
创建如下文件,命名为 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环境配置
上步艰难的完成
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
>>>
实际运行程序的时候,一些库没有安装,因此需要进行安装以便运行。
报错:ImportError: No module named 'PIL'
解决:pip install pillow
ImportError: No module named 'PIL'
(torch) []$ pip install Pillow
报错:
ImportError: No module named 'torchvision'
解决 :pip install torchvision
pip install dominate
pip install visdom
pip install cython
运行实际程序时候发现python没有用户没有shared memory(/dev/shm)的读写权限
https://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied
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
重新启动一下,然后ssh连接上。
sudo shutdown -r now
重启一次大概一两分钟。
权限问题visdom.server不能用,但是所幸开始可以用pytorch了。配置完成!
直接source activate torch即可激活
conda -V
(n2n) jcx@smart-dsp:~/Desktop/xxr2019/NVlabs_noise2noise$ conda -V
conda 4.5.12
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
创建虚拟环境
使用 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.csdn.net/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的代码。
https://blog.csdn.net/qq_35860352/article/details/80685175
本想直接克隆,再卸载,然后装低版本
conda create -n torch030 -clone torch
但是报错:
CondaHTTPError: HTTP 404 NOT FOUND for url
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 .
只能用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
依然需要下载很久。