centos安装virtualven后, pip list可以看到,但使用命令virtualven时会提示“bash:virtualven:未找到命令...”

python jwt 没有decode python没有venv_python jwt 没有decode

解决办法:

vi /etc/profile

 加入一行代码:

加入一行代码
PATH=$PATH:/usr/local/python3/bin

virtualenv通过创建独立Python开发环境的工具, 来解决依赖、版本以及间接权限问题。

安装

在安装virtualenv之前,需要安装至少有一个版本的Python;因为virtualenv是python的一个第三方模块,必须基于python环境才能安装。

pip安装,默认安装当前最新版本

pip install virtualenv

或者由于权限问题使用sudo临时提升权限
sudo pip install virtualenv

如果同时有python2和python3时,可以使用pip3安装

pip3 install virtualenv

源码安装
下载源码

$ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-X.X.tar.gz
$ tar xvfz virtualenv-X.X.tar.gz
$ cd virtualenv-X.X
$ [sudo] python3 setup.py install

使用virtualenv

1.创建独立运行环境

创建一个独立的Python运行环境,命名为 mypy37

virtualenv --python=python3.7 mypy37

python jwt 没有decode python没有venv_linux_02

--python=python3.7 指定python3.7环境;系统中安装了多个python版本时非常有用;默认情况下virtualenv会选取它的宿主python环境

如果在命令行中运行virtualenv --system-site-packages ENV, 会继承 (安装目录)lib/python3.7/site-packages下的所有库, 最新版本virtualenv把把访问全局site-packages作为默认行为default behavior.

 

python jwt 没有decode python没有venv_centos_03

lib:所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下
bin:bin/python是在当前环境是使用的python解释器

2.激活环境

#在mypy37目录下使用如下命令
[root@centos7 mypy37]# source ./bin/activate   #激活当前virtualenv
(mypy37) [root@centos7 mypy37]#                #注意终端发生了变化

python jwt 没有decode python没有venv_python jwt 没有decode_04

使用pip list查看当前库

python jwt 没有decode python没有venv_python jwt 没有decode_05

 3.安装需要的软件包

在mypy37环境下,用pip安装的包都被安装到mypy37这个环境下,系统Python环境不受任何影响。

1)可以一个个安装

pip install [package name]

2 )可以批量安装(前提是有已经生成的requirement.txt文件)

pip install -r requirement.txt       #根据requirement.txt生成相同的环境

4.退出virtualenv环境

(mypy37) [root@centos7 mypy37]# deactivate

python jwt 没有decode python没有venv_centos_06

 

python jwt 没有decode python没有venv_python jwt 没有decode_07

python jwt 没有decode python没有venv_linux_08

5、虚拟环境复制迁移

直接压缩生成的venv文件夹:

tar -zcvf mypy37.tar.gz ./mypy37

python jwt 没有decode python没有venv_linux_09

python jwt 没有decode python没有venv_virtualenv_10

 然后拷贝迁移至其他服务器下进行解压:
进入./venv/bin/下修改activate文件中参数:

VIRTUAL_ENV="/home/test/mypy37"
export VIRTUAL_ENV

将上述VIRTUAL_ENV修改为当前venv文件夹正确的路径,然后执行:

source activate

然后执行:

which python
或者
which pip

查看是否是虚拟venv路径下的工具,如果是的话,则成功。

安装过程中遇到的问题及解决办法:

python jwt 没有decode python没有venv_centos_11

 如果加了参数: --no-site-packages才出现的这个错误,那可以去掉了。
因为virtualenv早就默认这个参数了

查看python的安装目录的方法如下: 

python jwt 没有decode python没有venv_python_12

当有多个python环境时,直接使用virtualenv报错时,可以使用

python3 -m virtualenv --version

python jwt 没有decode python没有venv_linux_13

 

*************** *******************************************

生成可打包环境  ---好像有问题----还没有找到原因,当前版本 virtualenv的版本为20.8.1,不知道是不是和virtualenv的版本为20以上有关系

virtualenv --relocatable ./ # 对当前已经创建的虚拟环境更改为可迁移

python jwt 没有decode python没有venv_linux_14

***********************************************************