python虚拟环境的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python虚拟环境的问题相关的知识,希望对你有一定的参考价值。

请问:我在windows创建了虚拟环境,然后通过git,把项目和这个虚拟环境,一同上传,然后在centos上通过git拉取下来,然后在centos上激活这个虚拟环境,但是发现激活后,运行的环境还是系统的,并不是我一同上传的这个环境。(注:我的目的是,想把这个虚拟环境一同上传,然后运行时,激活这个虚拟环境,期望这个项目在这个虚拟环境下运行。)

参考技术A 虚拟环境 解释器执行路径输出看下
创建新的虚拟环境 路径指向你下载的环境文件路径

Python 虚拟环境

  • 创建python的虚拟环境

  为什么需要虚拟环境:
  如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.10和Django 0.9两套环境呢?这时候我们就可以通过虚拟环境来解决这个问题。

  • 安装虚拟环境:

  virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装
  pip install virtualenv
  pip3 install virtualenv
  创建虚拟环境:
  创建虚拟环境非常简单,通过以下命令就可以创建:

  virtualenv [虚拟环境的名字]

  • 进入虚拟环境:

  虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows,第二种是unix:

  windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。
  linux进入虚拟环境:source /path/to/virtualenv/bin/activate
  一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

  • 退出虚拟环境:

  退出虚拟环境很简单,通过一个命令就可以完成:deactivate。

  • 创建虚拟环境的时候指定Python解释器:

  在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的Python2/Scripts在Python3/Scripts的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用Python3这个版本,这时候可以通过-p参数来指定具体的Python解释器:

  virtualenv -p C:Python36python.exe [virutalenv name]
  virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。

  安装virtualenvwrapper
  linux:pip install virtualenvwrapper。
  windows:pip install virtualenvwrapper-win。
  virtualenvwrapper基本使用:
  创建虚拟环境:
  mkvirtualenv my_env
  那么会在你当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下。
  如果你电脑中安装了python2和python3,并且两个版本中都安装了virtualenvwrapper,那么将会使用环境变量中第一个出现的Python版本来作为这个虚拟环境的Python解释器。
  切换到某个虚拟环境:
  workon my_env
  退出当前虚拟环境:
  deactivate
  删除某个虚拟环境:
  rmvirtualenv my_env
  列出所有虚拟环境:
  lsvirtualenv
  修改mkvirtualenv的默认路径:
  在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
  创建虚拟环境的时候指定Python版本:
  在使用mkvirtualenv的时候,可以指定--python的参数来指定具体的python路径:

  mkvirtualenv --python==C:Python36python.exe hy_env

  • python中的软件安装pip

  pip的用法其实跟linux的yum很像,它可以帮我们安装python所需要的环境包,并且可以包解决依赖关系

   

   列出已安装的包 pip list 
  安装要安装的包 pip install xxx 
  python -m pip install --upgrade pip install numpy
  安装特定版本 pip install django==1.1.5
  导出python的环境 pip freeze > requestment.txt
  从导出的python环境中安装所需要的包 pip install -r requestment.txt
  卸载导出的python环境中的包 pip uninstall -r requestment.txt
  升级包 pip install -U <包名> 
  显示包所在的目录 pip show -f <包名> 
  搜索包 pip search <搜索关键字> 
  查询可升级的包 pip list -o 
  下载包而不安装 
  pip install <包名> -d <目录> 或 pip install -d <目录> -r requirements.txt      

  

  • 指定全局安装源

  在unix和macos,配置文件为:$HOME/.pip/pip.conf
  在windows上,配置文件为:%HOME%pippip.ini
  (1):在windows文件管理器中,输入 %APPDATA%
  (2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件
  (3):在新建的pip.ini文件中输入以下内容,搞定文件路径:"C:UsersAdministratorAppDataRoamingpippip.ini"

  [global] 
  timeout = 6000 
  index-url = http://pypi.douban.com/simple

  

 

以上是关于python虚拟环境的问题的主要内容,如果未能解决你的问题,请参考以下文章

python虚拟环境的介绍和创建

解决问题:VScode使用python虚拟环境(图文并茂版)

9、Python虚拟环境

如何为python项目创建虚拟环境

python中的虚拟环境

python命令行创建虚拟环境