ubuntu安装python3.5+pycharm+anaconda+opencv+docker+nvidia-docker+tensorflow+pytorch+Cmake3.8
一,切換python版本為3.5
裝好ubuntu,python版本是2.7的
我自己安裝并更改打開為python3.5
sudo apt-get?install?python3.5
設置優先級和默認環境:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
切換版本:
update-alternatives --config python
可看見python已經為3.5了。
二,安裝pycharm:
pycharm官網
?
三,安裝anaconda
下載python3.5對應的版本
https://repo.anaconda.com/archive/
然后:
~$ cd 下載
~/下載$ bash Anaconda2-4.2.0-Linux-x86_64.sh
這里需要一直按Enter,直到出現需要輸入yes or no 。輸入yes后,會顯示Anaconda將要安裝到哪個目錄下,可以自行修改,這里我選擇默認的路徑,直接回車。最后會提示添加環境變量,輸入yes后,安裝完成。
pycharm中更改解釋器路徑。
ok,,結束。
在~/.bashrc添加
export PATH="/home/fzh/anaconda2/bin:$PATH"(注意py3是anaconda3)
在source一下?
創建虛擬環境
conda create -n your_env_name python=x.x激活進入
source activate your_env_name?
查看已有的虛擬環境
conda-env list
刪除環境
conda remove -n conda_name?--all
卸載anaconda
首先直接刪除整個anaconda文件夾,在vim ~/.bashrc
注釋掉# ?export PATH="/home/fzh/anaconda2/bin:$PATH"
最后在source??~/.bashrc
重啟終端
更換conda源
將以上配置文件寫在~/.condarc中
vim ~/.condarc
安裝opencv
pip install opencv-contrib-python
pip install opencv-python
四,安裝docker
修改docker硬盤路徑
docker/nvidia-docker 操作指南
https://www.dongliwu.com/archives/61/#directory0824639160743786413
若先前有安裝docker需要先卸載(若沒有安裝過則無需執行),執行命令:?
sudo apt-get remove docker docker-engine docker.io?
Docker的安裝有多個方式,這里以最常見的方式為例。首先依次執行以下命令,把docker倉庫加進到apt里.
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository ?"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
正式安裝docker:?
sudo apt-get update?
sudo apt-get install docker-ce?
apt-cache madison docker-ce?
sudo docker run hello-world?
最后一個命令是驗證docker是否安裝成功,它會下載并執行hello-world鏡像。如果安裝正確,應該可以正確執行。如果提示找不到,多重復幾次即可.
五,安裝nvidia-docker
裝好記得重啟,命令如下.
sudo systemctl daemon-reload sudo systemctl restart docker這里有一個小bug,如果上述操作還會報 Error response from daemon: Unknown runtime specified nvidia.
通過 vim /usr/bin/nvidia-docker
修改為如下,重啟docker ,在改回去,在重啟即可解決問題。
我利用有驅動的官方鏡像安裝其他環境,首先把docker跑起來
sudo nvidia-docker run -it nvidia/cuda:9.0-baseapt-get update
apt-get upgrade
接下來,完善此鏡像。安裝完整的cuda-toolkit:
官方的鏡像不完整,這一步很關鍵
apt-get install python3
apt-get install python3-pip
然后按照這個鏈接去裝cuda和cudnn即可.
https://blog.csdn.net/fanzonghao/article/details/89707519
想要更新原來的鏡像,比如上述都安轉好了,用commit命令,adaf25712ec8是原有鏡像的id,chaos_gpu是新鏡像的名字,用docker images即可查看新的鏡像
commit后面是ps出來的容器ID,后面跟自己想要保存的名字,我這里是chaos_gpu
sudo nvidia-docker commit adaf25712ec8 chaos_gpu保持鏡像到本地:
https://www.runoob.com/docker/docker-save-command.html
將鏡像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文檔
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
載入本地鏡像:
docker load -i tf_torch_gpu.tar
進入鏡像?docker run --runtime nvidia -it ufoym/deepo:tensorflow-py36 bash
用Dockerfile創建鏡像
1.1示例
#進入代碼文件夾目錄 1.vim Dockerfile (配置Dockerfile) FROM fzh_image:torch_0.4_tf_1.12 COPY ./ /pcb_API (相對路徑更好,絕對路徑會出錯) LABEL maintainer="fzh@youedata.com"ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8RUN sed -i 's/^\(deb\|deb-src\) \([^ ]*\) \(.*\)/\1 http:\/\/mirrors.aliyun.com\/ubuntu \3/' /etc/apt/sources.list && \apt update && apt install -y --no-install-recommends libsm6 libxrender1 libxext6 libgtk2.0-dev && \apt clean && rm -rf /var/lib/apt/lists/*RUN pip install h5py torch==0.4.0 requests bs4 flask opencv-python pillow numpy pandas -i https://pypi.tuna.tsinghua.edu.cn/simpleRUN mkdir /root/.torch /root/.torch/models RUN cp -r /pcb_API/models/densenet/densenet169-b2777c0a.pth /root/.torch/models/WORKDIR /pcb_APIENTRYPOINT ["python","/pcb_API/manage_API.py"]1.2帶有字體的dockerfile
FROM daxin-docker:1.0 COPY ./ /LABEL maintainer="fzh@youedata.com"ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selectionsRUN apt-get update && apt-get install -y --no-install-recommends poppler-data ttf-mscorefonts-installer fontconfig RUN mkdir /usr/share/fonts/myfonts RUN cp -r /FONT/* /usr/share/fonts/myfonts/ RUN fc-cache -fv RUN chmod -R 777 /usr/share/fonts/myfontsRUN pip install imutils opencv-python==3.4.2.16 sqlalchemy_utils -i https://pypi.tuna.tsinghua.edu.cn/simple WORKDIR /srcENTRYPOINT ["python","manage_pdf.py"]1.3干掉nvidia源的dockerfile
FROM pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel COPY ./ /LABEL maintainer="fzh@youedata.com"ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8 ENV DEBIAN_FRONTEND noninteractive # 移除nvidia的源, 解決nvidia cdn報錯 RUN rm /etc/apt/sources.list.d/cuda.list /etc/apt/sources.list.d/nvidia-ml.list RUN sed -i 's/^\(deb\|deb-src\) \([^ ]*\) \(.*\)/\1 http:\/\/mirrors.aliyun.com\/ubuntu \3/' /etc/apt/sources.list RUN apt-get clean RUN mv /var/lib/apt/lists /tmp RUN mkdir -p /var/lib/apt/lists/partial RUN apt-get clean RUN apt update && apt-get install -y --no-install-recommends zbar-tools python-jpype tk-dev python-tk libffi-dev RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN dpkg-reconfigure -f noninteractive tzdata RUN pip install requests Cython setuptools==41.0.0 -i https://pypi.douban.com/simple RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple RUN pip uninstall enum34 -y RUN pip install -U --force-reinstall --no-binary :all: gevent -i https://pypi.douban.com/simple WORKDIR /src ENTRYPOINT ["gunicorn", "-c", "gunicorn_config.py","-b", "0.0.0.0:6006", "manage:app"]1.4?pull mysql鏡像
拉mysql鏡像 docker pull mysql:5.7.26 docker images|grep mysql docker tag mysql:5.7.26 xunzhenhan/mysql:5.7.26 docker save xunzhenhan/mysql:5.7.26 > xunzhenhan-mysql-5.7.26.tar1.5 用dockerfile創建mysql鏡像,并設置賬號密碼
FROM hub.youedata.com/new_dataos_deploy/mysql:5.7#設置賬號密碼登錄 ENV MYSQL_ROOT_PASSWORD Admin_2018 #將所需文件放到容器中 #COPY setup.sh /mysql/setup.sh #COPY schema.sql /mysql/schema.sql #COPY privileges.sql /mysql/privileges.sql#設置容器啟動時執行的命令 CMD ["sh", "/mysql/setup.sh"]?2.docker bulid
docker build -t pcb_docker . --rm (得到鏡像)3.建容器
run -d就后臺掛起
nvidia-docker run -it -p 5112:6006 pcb_api_docker:latestnvidia-docker run -it -p 5112:6006 --entrypoint bash pcb_api_docker:latest(不執行Dockerfile里的python /pcb_API/manage_API.py用做調試)5.docker的一些命令
批量刪除none的docker鏡像 docker images|grep none|awk '{print $3}'|xargs docker rmi
刪除異常停止的docker容器 docker rm `docker ps -a | grep Exited | awk '{print $1}'`
docker inspect id 查看docker的一些相關信息,對于組件可以查看config.py
docker logs id >xxx.txt 將docker日志輸出為txt
docker cp
docker info 可以查看docker的磁盤目錄
將主機/www/runoob目錄拷貝到容器96f7f14e99ab的/www目錄下。
docker cp /www/runoob 96f7f14e99ab:/www/將容器96f7f14e99ab的/www目錄拷貝到主機的/tmp目錄中。
docker cp 96f7f14e99ab:/www /tmp/6.將用戶添加進docker用戶組
1. 創建docker用戶組 sudo groupadd docker 2. 將用戶添加到docker用戶組 sudo usermod -aG docker USER_NAME 3.查看是否添加成功 cat /etc/group | grep ^docker 4.更新docker組 newgrp docker 5. 重啟docker服務 sudo systemctl restart docker7.docker: Error response from daemon: Unknown runtime specified nvidia.
sudo systemctl daemon-reload
sudo systemctl restart docker
六.下載使用TensorFlow鏡像
根據需要的版本下載tensorflow鏡像并開啟tensorflow容器:?
https://github.com/alibaba/x-deeplearning/wiki/%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85?from=singlemessage
七.安裝tensorflow
pip3 install tensorflow-gpu==1.12.0
import tensorflow as tf a=tf.constant(1) with tf.Session() as sess:print(sess.run(a))八.安裝pytorch
https://pytorch.org/get-started/locally/
安裝torch官網根據cuda版本來安裝
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
其中,-c pytorch參數指定了conda獲取pytorch的channel,在此指定為conda自帶的pytorch倉庫。
因此,只需要將-c pytorch語句去掉,就可以使用清華鏡像源快速安裝pytorch了。
若要安裝指定版本的pytorch
pip install torch==0.4.0
import torch print(torch.version.cuda) print(torch.cuda.is_available()) print(torch.__version__)如果出現fasle,去檢查cuda是否裝好
最終掛載本地與docker同步命令
nvidia-docker run -it -v ~/AI/:/AI -w /AI/ ?--name=fzh_tf_torch_py3 -p 2111:22 -p 2112:6006 -p 2113:8888 tf_pytorch_gpu:1.12.0_1.1.0 bash
?
九,安裝Cmake3.8
官網下載cmake?https://cmake.org/files/v3.8/
vim ~/.bashrc? 添加環境變量
source?~/.bashrc?
cmake --version
?
參考:
https://blog.csdn.net/WannaSeaU/article/details/88427010
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的ubuntu安装python3.5+pycharm+anaconda+opencv+docker+nvidia-docker+tensorflow+pytorch+Cmake3.8的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 决策树算法及可视化
- 下一篇: Libcurl的介绍