搭建本地虛擬服務器linux(CentOS 7)的python虛擬環境(Hyper-V演示)


新建虛擬機->安裝CentOS7->新建虛擬交換機:內部網絡->CentOS7設置->網絡適配器:虛擬交換機:新建虛擬交換機->進入CentOS

# cd /etc/sysconfig/network-scripts/

# ls -a

# vi ifcfg-eth0   #(有些系統不是eth0,前面ifcfg-的固定的)

 添加或修改,最簡配置如下

TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens0
ONBOOT=yes
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=192.168.xxx.x

 保存退出(按ESC再:wq回車)

windows中本地網絡連接將以太網與vEthernet橋接

# service network restart

進路由器設置給linux分配靜態IP

 

git安裝

# yum install git -y

 安裝python編譯依賴

# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
ubuntu:
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
# adduser <name>

 --------切換用戶--------

# su - <name>      #(su - 和 su 的區別於前者切換包括當前目錄及環境)

 安裝pyenv

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

 (若curl出錯(35)SSL connect error ,需要配置一個有校新包的yum源

# vim /etc/yum.repos.d/dvd.repo

添加下文本

[updates]
name=CentOS-Updates
baseurl=https://mirrors.aliyun.com/centos/6.9/os/x86_64
gpgcheck=0
# yum repolist

 然后更新nss

# yum update nss

 ~/.bash_profile中追加pyenv   #(按提示來,可能是~/.bashrc)

export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
$ vim ~/.bash_profile

$source ~/.bash_profile   #(刷新文件)

 使用pyenv的install安裝所需版本的python

$ pyenv install help
$ pyenv install -l
$ pyenv install 3.7.1

 若 ModuleNotFoundError: No module named '_ctypes',其實是缺少了一個依賴包libffi-devel,安裝后即可再返回用戶安裝python

 # yum install libffi-devel -y (包在base)(su - root)

ubuntu:

$ sudo apt install libffi-dev

 

本地安裝 (需要插件Xftp)

$ cd .pyenv
$ mkdir cache
$ cd cache/

 use Xftp copy python-3.7.1.tar.zx&python-3.7.1.tgz to /home/python/.pyenv/cache/

$ pyenv install 3.7.1

   

查看python本版

$ pyenv versions

 切換python本版

[global 全局設置、shell 會話設置、local 目錄設置]

$ python local 3.7.1  (子目錄繼承)

virtualenv 虛擬環境(site-packages獨立分開)

$ pyenv virtualenv 3.7.1 <Vname>
$ pyenv local <Vname>

--------ipython的安裝----------

在~目錄下創建 .pip 文件夾

$ mkdir .pip
$ cd .pip
$ touch pip.conf
$ vim pip.conf
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com

安裝ipython&jupyter和jupyter配置

$ pip install ipython
$ pip install jupyter

首先輸入ipython生成秘鑰

$ ipython
>>>from notebook.auth import passwd
>>>passwd()

生成的密鑰建議保存到一個文件中

使用jupyter前先設置密碼

$ jupyter notebook password
$ jupyert notebook --ip=0.0.0.0

在windows瀏覽器中輸入地址 192.168.xxx.xxx:8888

##########以上主要操作來源於馬哥教學###############

 

如果windows的瀏覽器連接不上jupyter,有可能是linux 防火牆阻止了,關閉掉

# systemctl stop firewalld

port&firewall more: https://www.cnblogs.com/moxiaoan/p/5683743.html

  

雲服務上搭建的jupyter在本地瀏覽器中使用還需要配置

$jupyter notebook --generate-config

Writing default config to: /home/py/.jupyter/jupyter_notebook_config.py

打開配置文件的路徑中的配置文件.jupyter/jupyter_notebook_config.py,修改下面的設置 

$vim ~/.jupyter/jupyter_notebook_config.py 

修改文件中的:

#c.NotebookApp.ip='*' #c.NotebookApp.password = u'sha:ce...ipython生成的密鑰' #c.NotebookApp.open_browser = False #c.NotebookApp.port =8888 #隨便指定一個端口

打開jupyter notebook應該可以在本地瀏覽器直接訪問http://公網ip:8888就可以看到jupyter的登陸界面。 

如果登陸失敗,則有可能是服務器防火牆設置的問題,此時最簡單的方法是在本地建立一個ssh通道:

在本地終端cmd中輸入ssh <name>@公網ip -L127.0.0.1:1234:127.0.0.1:8888

便可以在localhost:1234直接訪問遠程的jupyter了。
---------------------
作者:安靜會
來源:CSDN
原文:https://blog.csdn.net/u013381011/article/details/79639899
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 

 還有一種方法是開放端口,直接用公網地址加端口號可訪問

# firewall-cmd --zone=public --add-port=8888/tcp   * 重啟服務器時會失效 添加--permanent 將永久開放8888端口

在服務器管理中將8888端口放開,授權訪問,授權對象可以填本地IP,實現一對一開放

 

 

 

其它可能用到的指令:

查看linux本地端口  打包packages及加載

$ ss -tanl      $ pip freeze > <name>

          $ pip install -r <file_packages>

# passwd <name>   為name用戶設置密碼

# reboot  重啟系統

# vim /etc/sudoers   修改sudo用戶組("root ALL=(ALL) ALL"在下一行添加"<name> ALL=(ALL) ALL")

# chmod 777 /etc/sudoers   當上一步操作提示只能讀取無法修改時使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM