第1步 ,安装virtualenv
和virtualenvwrapper
运行命令如下:
pip3 install -i https://mirrors.aliyun.com/pypi/simple virtualenv
pip3 install -i https://mirrors.aliyun.com/pypi/simple virtualenvwrapper
第2步,创建管理虚拟环境的根目录
首先,我想创建一个统一管理虚拟环境的目录,这样的话,以后所有的虚拟环境全部放到这个文件夹下面统一管理。( 这个文件夹也就是 WORKON_HOME 对应的参数,在下一步中要被一起添加进环境变量)
这里我将这个虚拟环境的根文件夹设置在/Documents
(文稿)文件夹内,( 一般设置在用户根目录,就是 在终端 输入 cd ~
的目录 )
cd Documents # 进入文稿目录
mkdir python_envs # 在文稿目录下创建了一个统一管理虚拟环境的目录
以后你想要在这个目录下创建虚拟环境,你就需要
cd Documents/python_envs
然后通过
virtualenv 环境名
或者mkvirtualenv 环境名
来创建虚拟环境
第3步,配置环境变量
然后查找python3
和virtualenvwrapper.sh
的安装位置 ,用which命令查找
注:如果你使用,
which python3
命令查到的只是快捷方式的路径/usr/local/bin/python3.6
,你需要知道的是,这并不是源文件所在的目录。具体的,自己安装的python3的安装位置可以参考下面👇的链接。
(注:自己安装的python3的位置)
which python3
# 一般来说,得到的结果是 /usr/local/bin/python3
which virtualenvwrapper.sh
# 一般来说,得到的结果是 /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
这里,需要注意的是,上面👆得到的结果,是要添加进环境变量的,并且这两个文件最好得在同一个目录下。
所以有两个方法:
方法1:
( 可能 就算你卸载了python3,这个配置还是会被保留下来 )
将查找到的virtualenvwrapper.sh
,复制一份到/usr/local/bin/
目录下
然后,通过这篇教程里,第6步,配置环境路径的方法,将以下👇命令添加进去:
export WORKON_HOME='/Users/e_bitten/Documents/python_envs'
export VIRTUALENVWRAPPER_PYTHON='/usr/local/bin/python3'
source /usr/local/bin/virtualenvwrapper.sh
方法2:(区别:位置不一样)
( 这是配置在原文件目录里的,所以你卸载python3的话,这个应该也会一起删掉 )
通过这篇教程里,第6步,配置环境路径的方法,将以下👇命令添加进去:
export WORKON_HOME='/Users/e_bitten/Documents/python_envs'
export VIRTUALENVWRAPPER_PYTHON='/Library/Frameworks/Python.framework/Versions/3.6/bin/python3'
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
重要坑点:
需要注意的是,不管采用上面哪种方法,都需要把virtualenvwrapper.sh
执行一下!!!如果还是不行,可以重新安装一下virtualenvwrapper
!!!
( 如果不做这一步,很可能他不优先采用你虚拟环境里配置的包的版本,而是一直执行你在系统环境变量里配置的包的版本 )
执行的方式是:按照你设置的环境变量里的virtualenvwrapper.sh
的位置,运行该文件,方法如下:
( 比如采用了 方法一 就执行下面👇这行代码 注意,.
后面还有空格
)
. /usr/local/bin/virtualenvwrapper.sh
( 采用了 *方法二 就执行下面👇这行代码 )
. /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
之后别忘了按照这篇教程里,第6步,配置环境路径的方法,添加完环境变量后,执行source ~/.zshrc
,成功后会显示多条下面这种形式的语句,这是在该虚拟环境目录下创建了很多他所需要的文件
virtualenvwrapper.user_scripts creating /Users/用户名/Documents/python_envs/premkproject
第4步,创建并进入虚拟环境
这里,我选择在第1步中的WORKON_HOME
对应的管理虚拟环境的根目录内创建虚拟环境,也可以cd到其他目录下创建虚拟环境,但是好像创建在WORKON_HOME
对应的文件夹以外的文件夹,用workon
命令 就查询不到了(你创建完了还把它移到WORKON_HOME
对应的文件夹内是可以查到的)。
首先:
cd Documents/python_envs
# 方式1:
mkvirtualenv envname01 # 创建完毕会自动进入该虚拟环境
# 方式2:
virtualenv envname02
workon envname02 # 进入该虚拟环境
# 方式3:
virtualenv envname03
cd envname03
source bin/activate # 激活并进入虚拟环境
第5步,配置虚拟环境内的包
按照项目需求用 pip install 包名
或者 pip3 install 包名
注意!不要加sudo,否则会安装到系统环境中,而不是安装到虚拟环境中
举例:
pip3 install flask
pip3 install django
pip3 install Scipy
第5步,退出环境
deactivate
之后如何使用?
以后我要创建一个新的虚拟环境,就
cd Documents/python_envs
# 这里要写你自己配置的统一管理虚拟环境的目录
virtualenv 虚拟环境名
# 创建虚拟环境如果我要使用之前创建的,可以使用:
workon env_space1
简单的使用:
创建虚拟环境:
virtualenv envname01 | mkvirtualenv envname02
右边的创建后会自动进入虚拟环境
基于某Python环境创建虚拟环境:
mkvirtualenv -p python2.7 envname01
mkvirtualenv -p python3.6 envname02
或者
virtualenv Envname03 --python=python3.6
列出虚拟环境:
lsvirtualenv -b | workon
退出虚拟环境:
deactivate
切换虚拟环境:
workon envname02 # 这里写你要去的虚拟环境的文件夹名
为虚拟环境安装模块:
pip install 模块名 | pip3 install 模块名
为虚拟环境卸载模块:
pip uninstall 模块名 | pip3 uninstall 模块名
查看虚拟环境里安装了哪些包:
lssitepackages | pip list | pip3 list
进入|退出 该虚拟环境的Python环境
python | exit()
复制虚拟环境:
cpvirtualenv env1 env2 # 前面的是原文件 后面的拷贝后的新文件
/// Copying env1 as env2...
删除虚拟环境:
rmvirtualenv env2
/// Removing env2...
mysql8.0版本
8.0版本mysql授权用户第一步:
create user '用户名'@'%' identified by '用户密码'
create user 'luffy'@'localhost' identified by '123456'
第二步:
grant all privileges on 数据库名.* to '用户名'@'%' with grant option
grant all privileges on luffy.* to 'luffy'@'localhost' with grant option
第三步:
刷新
flush privileges
第四步检验是否成功:
退出当前帐号,用新帐号登陆,再查看所有库即可。
当Django启动时,报这个错误时:“RuntimeError: cryptography is required for sha256_password or caching_sha2_password”
请下载以下插件:
pip install cryptography
删除用户
delete from mysql.user where user='luffy' and host='%'
查看用户
select user,host from mysql.user
查看密码加密规则
select plugin,authentication_string from mysql.user
修改加密规则(我测试了,修改不了加密规则,还是老老实实下载那个插件靠谱,别在这浪费时间了)
这句报错的话 就 pip install cryptography
alter user '用户名'@'localhost' identified by 'password' password expire never
更新用户密码
alter user '用户名'@'localhost' identified with mysql_native_password by 'password'
重制密码
alter user '用户名'@'localhost' identified by '用户密码'
mysql 5.7版本
创建数据库
"""
1.管理员连接数据库
>: mysql -uroot -proot
2.创建数据库
>: create database luffy default charset=utf8;
3.查看用户
>: select user,host,password from mysql.user;
"""
为指定数据库配置指定账户
"""
设置权限账号密码
# 授权账号命令:grant 权限(create, update) on 库.表 to '账号'@'host' identified by '密码'
1.配置任意ip都可以连入数据库的账户
>: grant all privileges on luffy.* to 'luffy'@'%' identified by 'Luffy123?';
2.由于数据库版本的问题,可能本地还连接不上,就给本地用户单独配置
>: grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'Luffy123?';
3.刷新一下权限
>: flush privileges;
只能操作luffy数据库的账户
账号:luffy
密码:Luffy123?
"""
Django 2.x 一些版本pymysql兼容问题
Django不采用2.0.7版本很可能出现以下问题,需要修改源代码