Centos7+Anaconda+校园网关

不穿秋裤的南方人    2019-01-14 10:10

实验室服务器配置了一个星期,终于选择了一种合适组合方案

上一篇博客实现了利用显卡进行深度学习的相关配置,这篇博客将主要介绍如何配置Python环境

我们的目标是让所有的普通用户能直接使用anaconda环境

anaconda我就不多加介绍了,一开始我在root用户下安装anaconda,安装路径是/root/anaconda3,并通过chmod 777 命令期望所有的用户能进行访问执行,很遗憾,新建的普通用户根本无法使用conda。在网上参考了一些教程后,新建admin用户,在该用户下使用sudo命令进行安装anaconda,安装目录放置在/opt/anaconda3下,安装前将admin用户添加到sudoer列表里,见图一。同时,安装后将安装路径添加至全局的环境变量中,见图二。使用普通用户登录,输入conda命令,返回相关参数,验证anaconda环境可以在各个用户下使用。

  

----------------------------------------------------------------------------------------------------------------------------

环境配置完成后,想到一个很重要的问题,由于校内网关登录都是在浏览器中进行的,服务器有时需要在网上下载一些第三包的扩展包,如何验证网络是我们所需要考虑的一个问题

想到之前帅哥做的一个新浪微博用户自动登录的案例,想着能不能将这个解决方案移植到我们的问题上来

附上代码

from selenium import webdriver
import time
from bs4 import BeautifulSoup

def login():
        url = 'http://ipgw.neu.edu.cn/srun_portal_pc.php?ac_id=1&'  # 在此处写URL
        # 以下三行为隐藏游览器的用法
        firefox_options = webdriver.FirefoxOptions()
        firefox_options.add_argument('--headless')
        driver = webdriver.Firefox(firefox_options=firefox_options)
        # driver.maximize_window()
        driver.get(url)
        time.sleep(2)
        driver.find_element_by_xpath("//input[@name='username']").send_keys("account")  # account是校园网账号
        driver.find_element_by_xpath("//input[@name='password']").send_keys("password") # password是对应的密码
        driver.find_element_by_xpath("//input[@class='btn btn-primary']").click()
        data = driver.page_source
        soup = BeautifulSoup(data, "html.parser")
        soup_to_string = soup.get_text()
        if "网络已连接" in soup_to_string:
                return 1
        else:
                return 0

if __name__ == '__main__':
        result = login()
        if result == 1:
                print("登录成功")
        else:
                print("登录失败")

Centos7自带了火狐浏览器,首先下载了火狐的专用浏览器驱动geckodriver,新建一个network_connect的conda环境,将驱动置于/home/admin/.conda/envs/network_connect/bin下,并设置geckodriver权限为可执行。在conda的虚拟环境下,运行上述代码,打印出“登录成功”。输入ping www.baidu.com返回数据,同时,在其他电脑上使用同样的网络账号登录,显示该用户已在线,都验证了网络登录成功。

 

------------------------------------------------------------------------------------------------------------------------------

思考:

在安装anaconda时是否可以使用root用户安装在非root目录如/opt下,然后使用全局变量,使其他用户也能使用

------------------------------------------------------------------------------------------------------------------------------

附: 参考博客

Linux下安装Anaconda后如何授权普通用户使用:https://jingyan.baidu.com/article/a378c960ec5b1cb328283092.html

Linux卸载Anaconda:https://blog.csdn.net/hang916/article/details/79530108?tdsourcetag=s_pcqq_aiomsg

Views: 2.5K

[[total]] comments

Post your comment
  1. [[item.time]]
    [[item.user.username]] [[item.floor]]Floor
  2. Click to load more...
  3. Post your comment