下载anacanda

官网下载太慢:官网下载
可以到国内镜像下载:镜像下载地址

安装anacanda

运行命令:

bash Anaconda3-2018.12-Linux-x86_64.sh

然后开启安装,在安装过程中,基本上不断按回车或者yes默认就行了。
在这里插入图片描述
设置环境变量

vi /etc/profile
#Anaconda
export PATH=$PATH:/home/software/anaconda3/bin
source /etc/profile

测试

打开终端(Terminal),输入python3,如果显示如下图,则表示安装成功。

[root@slthtbijdqe ancanda]# python3 -V
Python 3.8.5

安装虚拟环境

安装成功后需要创建新的虚拟环境:

  1. 首先在所在系统中安装Anaconda。可以打开命令行输入conda -V检验是否安装以及当前conda的版本。

  2. conda常用的命令。

    1)conda list 查看安装了哪些包。

    2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境

    3)conda update conda 检查更新当前conda

  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文件下找到。

  4. 使用激活(或切换不同python版本)的虚拟环境。

    打开命令行输入python --version可以检查当前python的版本。

    使用如下命令即可 激活你的虚拟环境(即将python的版本改变)。

    Linux: source activate your_env_name(虚拟环境名称)

    Windows: activate your_env_name(虚拟环境名称)

    这是再使用python --version可以检查当前python版本是否为想要的。

  5. 对虚拟环境中安装额外的包。

    使用命令conda install -n your_env_name [package]即可安装package到your_env_name中

  6. 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)。

    使用如下命令即可。

    Linux: source deactivate

    Windows: deactivate

  7. 删除虚拟环境。

    使用命令conda remove -n your_env_name(虚拟环境名称) --all, 即可删除。

  8. 删除环境中的某个包。

    使用命令conda remove --name your_env_name package_name 即可。

安装pip

创建虚拟环境,命名为python3.6

 conda create -n python3.6 python=3.6

切换虚拟环境

source activate python3.6

pip是python的包管理工具,安装pip

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本
$ sudo python get-pip.py    # 运行安装脚本

使用python连接MongoDB

安装

[root@slthtbijdqe anaconda3]# source activate python3.6
(python3.6) [root@slthtbijdqe anaconda3]# python -V
Python 3.6.12 :: Anaconda, Inc.
(python3.6) [root@slthtbijdqe anaconda3]# python -m pip install pymongo

编写的实例read.py:

#!/usr/bin/python
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:8008/")
dblist = myclient.list_database_names()
print(dblist)
for db in dblist:
        print ("dbname:%s" %(db) )
testDb=myclient['test']
print(testDb)
mycollection=testDb["test"]
print(mycollection)
for x in mycollection.find():
  print(x)

运行read.py

python read.py

输出如下:

['admin', 'config', 'local', 'mbg', 'mbg_test', 'test']
dbname:admin
dbname:config
dbname:local
dbname:mbg
dbname:mbg_test
dbname:test
Database(MongoClient(host=['localhost:8008'], document_class=dict, tz_aware=False, connect=True), 'test')
Collection(Database(MongoClient(host=['localhost:8008'], document_class=dict, tz_aware=False, connect=True), 'test'), 'test')
{'_id': ObjectId('5ff81dddb5fb103b56db1751'), 'title': 'this is update test'}
{'_id': ObjectId('5ff81dfbc945da0e62b4e908'), 'title': 'test'}

使用python搭建web服务

安装flask

pip install flask

server端代码如下

编写代码server.py,内容如下:

 #!/usr/bin/python

from flask import Flask,jsonify,request,abort
import json
import logging
from logging.handlers import RotatingFileHandler
from threading import Thread
import time

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def home():
    return '<h1>Home</h1>'

@app.route('/signin', methods=['GET'])
def signin_form():
    return '''<form action="/signin" method="post">
              <p><input name="username"></p>
              <p><input name="password" type="password"></p>
              <p><button type="submit">Sign In</button></p>
              </form>'''

@app.route('/signin', methods=['POST'])
def signin():
    try:
        app.logger.info(request.headers)
        app.logger.info(type(request.json))
        app.logger.info(request.json)
        app.logger.info(request.json['name'])
        data=request.data
        app.logger.info(data)
    except BaseException :
        app.logger.error("发生了异常")
        return '<h3>Bad request param .</h3>'
    else:
    # 需要从request对象读取表单内容:
        t = Thread(target=sayhi, args=('caoyong','to you',"线程号1"))
        t.start()
        result={"name":request.json['name']}
        return result 


def sayhi(name,input,number):
    for i in range(1,10):
        if number == "线程号1":
            time.sleep(1)
            app.logger.info("这是线程号:%s - %s say hello %s - %s" % (number,name, str(i),input))
        else :
            time.sleep(1)
            app.logger.info("线程号:%s - %s say hello %s - %s 休息1秒" % (number,name, str(i),input))


if __name__ == '__main__':
    app.run(host='0.0.0.0',port=30003,debug=True)

启动服务

后台启动server端服务,日志重定向到nohup中

nohup python server.py 2>&1 &

验证服务

客户端代码client.py

from urllib import parse, request
import json
 
parameter = {"name": "caoyong111"}
# json串数据使用
parameter = json.dumps(parameter).encode(encoding='utf-8')
# 普通数据使用
# parameter = parse.urlencode(parameter).encode(encoding='utf-8')
print('入参:' + str(parameter))
 
header_info = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',"Content-Type": "application/json"}
url = "http://localhost:30003/signin"
req = request.Request(url=url, data=parameter, headers=header_info)
res = request.urlopen(req)
res = res.read()
 
print('返回参数:' + str(res))
print('返回参数,转码utf-8后:' + str(res.decode(encoding='utf-8')))

启动client端

python client.py

client端log如下:

在这里插入图片描述
查看服务端log

tail -f nohup

log内容如下:在这里插入图片描述
可以看到服务端同步返回报文,启动线程执行异步任务

如果anconda下载不下来的话,需要将.condarc修改成如下内容:

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
show_channel_urls: true
#去掉-default

修改pip源

修改.conf(Linux)/.ini(Windows)
Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)。输入或修改内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,然后新建文件pip.ini,即 %HOMEPATH%\pip\pip.ini,输入或修改内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

2.2 命令提示符
直接一行代码搞定

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
1
下面提供常用的一些国内镜像源

阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学http://pypi.hustunique.com/

原文链接:https://blog.csdn.net/weixin_42640909/article/details/112142215

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐