资讯专栏INFORMATION COLUMN

Python-Virtualenv

fobnn / 2658人阅读

摘要:注释在使用前默认的解释器是,而且里面已经安装好了和使用由于一些兼容性问题,电脑上默认的版本只能只能使用,所以创建命令要另外使用指定解释器创建虚拟环境激活虚拟环境现在可以看到提示符前面多了一个,代表虚拟环境创建成功实践一下,虚

注释

在使用virtualenv前ubuntu默认的解释器是python2.7,而且/usr/lib/python3里面已经安装好了ipython3requests

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ ipython3    
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython"s features.
%quickref -> Quick reference.
help      -> Python"s own help system.
object?   -> Details about "object", use "object??" for extra details.

In [1]: import requests

In [2]:
使用

由于一些兼容性问题,电脑上默认的python版本只能只能使用python2.7,所以创建命令要另外使用-p指定解释器

$ mkdir my_project_folder; cd my_project_folder

# 创建虚拟环境
$ virtualenv -p /usr/bin/python3 venv
Running virtualenv with interpreter /usr/bin/python3
Using base prefix "/usr"
New python executable in /home/ormsf/my_project_folder/venv/bin/python3
Also creating executable in /home/ormsf/my_project_folder/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

激活虚拟环境

$ source venv/bin/activate

现在可以看到提示符前面多了一个venv,代表虚拟环境创建成功

(venv) ~/my_project_folder $ ipython3

实践一下,虚拟环境和实际的环境隔离的

# 无法使用ipython3
(venv) ~/my_project_folder $ ipython3  
Traceback (most recent call last):
  File "/usr/bin/ipython3", line 4, in 
    from IPython import start_ipython
ImportError: No module named "IPython"

# 默认的解释器已经变成了python3
(venv) ~/my_project_folder $ python
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

# 无法使用requests
>>> import requests
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named "requests"

注意不需要使用pip3

(venv) ~/my_project_folder $ pip install requests
Collecting requests
  Downloading requests-2.13.0-py2.py3-none-any.whl (584kB)
    100% |████████████████████████████████| 593kB 1.3MB/s 
Installing collected packages: requests
Successfully installed requests-2.13.0

现在request已经能够正确使用了

(venv) ~/my_project_folder $ python
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> 
(venv) ~/my_project_folder $ pip install ipython

现在ipython也已经能够正确使用了

(venv) ~/my_project_folder $ ipython
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython"s features.
%quickref -> Quick reference.
help      -> Python"s own help system.
object?   -> Details about "object", use "object??" for extra details.

In [1]: 

退出

(venv) ~/my_project_folder $ deactivate

原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38392.html

相关文章

  • Python学习笔记:Web后端开发一览

    摘要:试想,在多线程服务器中,多个线程同时处理不同客户端发送的不同请求时,每个线程看到的对象必然不同。多线程服务器会创建一个线程池,再从线程池中选择一个线程用于处理接收到的请求。 框架 Django flask flask是一个轻量的web开发应用示例开发一个小应用 from flask import Flask app = Flask(__name__) @app.route(/) d...

    DrizzleX 评论0 收藏0
  • Virtualenv + SublimeText 的Python开发环境

    摘要:最近在上使用遇到了问题,由于使用了库,其同时存在于和,的库中,版本为,而最新的为。建议使用参数将上的开发目录挂载到容器中,这样仅仅使用了容器提供的环境,而代码跟容器本身并没有关系。支持多种,,,之类,的确非常方便。 最近在Mac上使用Python遇到了问题,由于使用了pyOpenSSL库,其同时存在于/System/Library/Frameworks/Python.framework...

    Airmusic 评论0 收藏0
  • [壹] Flask web 开发:安装

    摘要:本篇对应书本第一章安装。创建虚拟环境激活虚拟环境系统系统取消已激活的环境用。使用安装包虚拟环境中安装检查是否安装成功检查的原理如果该环境中没有该包,会失败报错。本文由创作,采用知识共享署名中国大陆许可协议进行许可。 本系列笔记是我阅读Miguel Grinberg的《Flask Web Development》的笔记,标题与书本同步。希望通过记录技术笔记的方式促进自己对知识的理解。 本...

    omgdog 评论0 收藏0
  • ubuntu10.0.4 virtualenv 创建虚拟Python环境

    摘要:创建目录用来存放虚拟环境我的安装完,默认就已经创建该目录了在文件中添加在中添加运行使用此时就可以使用了。列出虚拟环境列表新建虚拟环境启动切换虚拟环境删除虚拟环境离开虚拟环境 一、virtualenv 1.简介 virtualenv可以使多个Python相互独立,互不影响,它能够: 1. 在没有权限的情况下安装新套件 2. 不同应用可以使用不同的套件版本 3. 套件升级不影响其他应...

    zhaot 评论0 收藏0

发表评论

0条评论

fobnn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<