python虚拟开发环境搭建

简介:
  1. python版本问题

  2. 开发环境-pyenv

  3. 虚拟环境-virtualenv


一. python版本

2.x:发展到了2.7.13
3.x:发展到了3.6

3.x始自2008年,3.5版本发布于2015年
https://pythonclock.org   2.x的倒计时

不要迷信版本,学会一个版本,好好学一门语言,其他都不是问题。

二. 开发环境 - pyenv

pyenv是python的多版本管理工具:

  • 管理python解释器

  • 管理python版本

  • 管理python的虚拟环境

官网:https://github.com/pyenv/pyenv

1.安装pyenv:
挂载光盘,配置本地yum源:

1
2
3
4
5
6
7
8
9
[root@ames ~] # cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@ames ~] # vim /etc/yum.repos.d/cdrom.repo 
[cdrom]
name=cdrom
baseurl= file : ///media
gpgcheck=0
enable =1 
:wq

安装git:

1
[root@ames ~] # yum -y install git

安装python依赖包:

1
[root@ames ~] # yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

创建python用户:

1
[root@ames ~] # useradd python

使用python用户登录,然后执行:

1
[root@ames ~] # su -l python[python@ames ~]$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

上面命令执行完后结尾处会有如下提示:

1
WARNING: seems you still have not added  'pyenv'  to the load path. # Load pyenv automatically by adding# the following to ~/.bash_profile:export PATH="/home/python/.pyenv/bin:$PATH"eval "$(pyenv init -)"eval "$(pyenv virtualenv-init -)"

执行该操作:

1
2
3
4
5
6
[python@ames ~]$ vim .bash_profile 
...
# 结尾处追加如下:
export  PATH= "/home/python/.pyenv/bin:$PATH"
eval  "$(pyenv init -)"
eval  "$(pyenv virtualenv-init -)"

使其生效:

1
[python@ames ~]$  source  .bash_profile

此时,pyenv已安装完成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[python@ames ~]$ pyenv 
pyenv 1.1.3
Usage: pyenv < command > [<args>]
 
Some useful pyenv commands are:
    commands    List all available pyenv commands
    local        Set or show the  local  application-specific Python version
    global      Set or show the global Python version
    shell       Set or show the shell-specific Python version
    install      Install a Python version using python-build
    uninstall   Uninstall a specific Python version
    rehash      Rehash pyenv shims (run this after installing executables)
    version     Show the current Python version and its origin
    versions    List all Python versions available to pyenv
    which        Display the full path to an executable
    whence      List all Python versions that contain the given executable
 
See `pyenv help < command >'  for  information on a specific  command .
For full documentation, see: https: //github .com /pyenv/pyenv #readme
[python@ames ~]$

查看帮助信息:

1
2
[python@ames ~]$ pyenv help 
[python@ames ~]$ pyenv help  install

列出所有可用的python版本及python扩展工具:

1
[python@ames ~]$ pyenv  install  --list

此处选择python3.5.3进行安装:

1
2
3
4
5
6
[python@ames ~]$ pyenv  install  3.5.3
Downloading Python-3.5.3. tar .xz...
-> https: //www .python.org /ftp/python/3 .5.3 /Python-3 .5.3. tar .xz
error: failed to download Python-3.5.3. tar .xz
BUILD FAILED (CentOS Linux 7 using python-build 20160602)
[python@ames ~]$

如上命令执行报错,解决办法如下:
使用缓存方式安装:
在~/.pyenv目录下,新建cache目录,放入下载好的版本文件。

1
2
3
4
5
[python@ames ~]$  mkdir  .pyenv /cache
[python@ames ~]$  cp  /mnt/tools/ {Python-3.5.3. tar .gz,Python-3.5.3.tgz,Python-3.5.3. tar .xz} .pyenv /cache
[python@ames ~]$  ls  .pyenv /cache/
Python-3.5.3. tar .gz  Python-3.5.3. tar .xz  Python-3.5.3.tgz
[python@ames ~]$

注: 因为不确定 pyenv install 会选择哪个python文件进行安装,所以把准备的三个安装包都放进去.

再次安装:

1
[python@ames ~]$ pyenv  install  3.5.3 - v

查看:

1
2
3
4
[python@ames ~]$ pyenv versions
* system ( set  by  /home/python/ .pyenv /version )
   3.5.3
[python@ames ~]$

设置python版本:

1
2
3
4
5
6
7
[python@ames ~]$ pyenv help
Usage: pyenv < command > [<args>]
...
    local        Set or show the  local  application-specific Python version
    global      Set or show the global Python version
    shell       Set or show the shell-specific Python version
...

glocal:

设置全局的python版本,通过将版本号写入~/.pyenv/version文件的方式。

1
[python@ames ~]$ pyenv global 3.5.3

local:

设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version文件的方式。这种方式设置的python版本优先级比global高,pyenv会从当前目录开始向上逐级查找.python-version文件,知道根目录为止,若找不到,就用global版本。使用pyenv local设置从当前工作目录开始向下递归都继承这个设置。

1
[python@ames ~]$ pyenv  local  3.5.3

shell:

设置面向shell的python版本,只作用于当前会话,通过设置当前shell的PYENV_VERSION环境变量的方式。

1
[python@ames ~]$ pyenv shell 3.5.3

virtualenv:

前面说了pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。
virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。

virtualenv插件的位置:

1
2
3
4
5
6
7
8
9
10
11
[python@ames ~]$ ll .pyenv /plugins/pyenv-virtualenv/
total 32
drwxrwxr-x. 2 python python  244 Sep 12 03:10 bin
-rw-rw-r--. 1 python python 6370 Sep 12 03:10 CHANGELOG.md
drwxrwxr-x. 3 python python   21 Sep 12 03:10 etc
-rwxrwxr-x. 1 python python  552 Sep 12 03:10  install .sh
-rw-rw-r--. 1 python python 1058 Sep 12 03:10 LICENSE
-rw-rw-r--. 1 python python 9190 Sep 12 03:10 README.md
drwxrwxr-x. 2 python python   40 Sep 12 03:10 shims
drwxrwxr-x. 4 python python 4096 Sep 12 03:10  test
[python@ames ~]$

为便于实验,我又安装了python3.6.1版本,安装方法见上文。
先查看一下:

1
2
3
4
5
[python@ames ~]$ pyenv versions
   system
* 3.5.3 ( set  by PYENV_VERSION environment variable)
   3.6.1
[python@ames ~]$

创建一个python3.5.3的虚拟环境:

1
2
3
4
[python@ames ~]$ pyenv virtualenv 3.5.3 env353
Requirement already satisfied: setuptools  in  /home/python/ .pyenv /versions/3 .5.3 /envs/env353/lib/python3 .5 /site-packages
Requirement already satisfied: pip  in  /home/python/ .pyenv /versions/3 .5.3 /envs/env353/lib/python3 .5 /site-packages
[python@ames ~]$

查看:

1
2
3
4
5
6
7
[python@ames ~]$ pyenv versions
   system
* 3.5.3 ( set  by PYENV_VERSION environment variable)
   3.5.3 /envs/env353
   3.6.1
   env353
[python@ames ~]$

env353的真实目录位于:

1
2
3
4
5
6
7
8
[python@ames ~]$  ls  .pyenv /versions  -al
total 4
drwxrwxr-x.  4 python python   46 Sep 12 04:06 .
drwxrwxr-x. 13 python python 4096 Sep 12 03:48 ..
drwxr-xr-x.  7 python python   68 Sep 12 04:06 3.5.3
drwxr-xr-x.  6 python python   56 Sep 12 04:02 3.6.1
lrwxrwxrwx.  1 python python   46 Sep 12 04:06 env353 ->  /home/python/ .pyenv /versions/3 .5.3 /envs/env353
[python@ames ~]$

再创建一个基于3.6.1的虚拟环境:

1
2
3
4
5
6
7
8
9
10
11
12
[python@ames ~]$ pyenv virtualenv 3.6.1 env361
Requirement already satisfied: setuptools  in  /home/python/ .pyenv /versions/3 .6.1 /envs/env361/lib/python3 .6 /site-packages
Requirement already satisfied: pip  in  /home/python/ .pyenv /versions/3 .6.1 /envs/env361/lib/python3 .6 /site-packages
[python@ames ~]$ pyenv versions
   system
* 3.5.3 ( set  by PYENV_VERSION environment variable)
   3.5.3 /envs/env353
   3.6.1
   3.6.1 /envs/env361
   env353
   env361
[python@ames ~]$

查看真实目录:

1
2
3
4
5
6
7
[python@ames ~]$ ll .pyenv /versions
total 0
drwxr-xr-x. 7 python python 68 Sep 12 04:06 3.5.3
drwxr-xr-x. 7 python python 68 Sep 12 04:11 3.6.1
lrwxrwxrwx. 1 python python 46 Sep 12 04:06 env353 ->  /home/python/ .pyenv /versions/3 .5.3 /envs/env353
lrwxrwxrwx. 1 python python 46 Sep 12 04:11 env361 ->  /home/python/ .pyenv /versions/3 .6.1 /envs/env361
[python@ames ~]$

删除虚拟环境:
如果要删除这个虚拟环境,只须直接删除它所在的目录即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[python@ames ~]$ pyenv versions
   system
* 3.5.3 ( set  by  /home/python/ .python-version)
   3.5.3 /envs/env353
   3.6.1
   3.6.1 /envs/env361
   env353
   env361
[python@ames ~]$  rm  -rf .pyenv /versions/env361
[python@ames ~]$ pyenv versions
   system
* 3.5.3 ( set  by  /home/python/ .python-version)
   3.5.3 /envs/env353
   3.6.1
   3.6.1 /envs/env361
   env353
[python@ames ~]$

使用pip命令在env353的虚拟环境下安装ipython:
首先修改pip源,改成国内的:

1
2
3
4
5
6
(env353) [python@ames ~]$  mkdir  .pip
(env353) [python@ames ~]$ vim .pip /pip .conf
[global]
index-url=https: //mirrors .aliyun.com /pypi/simple/
trusted-host=mirrors.aliyun.com
:wq

安装ipython:

1
2
3
4
5
6
7
(env353) [python@ames ~]$ pip  install  ipython
(env353) [python@ames ~]$ ipython
Python 3.5.3 (default, Sep 12 2017, 03:35:37) 
Type  'copyright' 'credits'  or  'license'  for  more  information
IPython 6.1.0 -- An enhanced Interactive Python. Type  '?'  for  help.
 
In [1]:

安装Jupyter,也会帮安装ipython的:

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。【来自百度百科】

安装:

1
(env353) [python@ames ~]$ pip  install  jupyter

查看帮助信息:

1
(env353) [python@ames ~]$ jupyter notebook help

开启服务进程:

1
2
3
4
5
6
7
8
9
10
11
(env353) [python@ames ~]$ jupyter notebook --ip=0.0.0.0 --no-browser
[I 04:51:53.222 NotebookApp] Writing notebook server cookie secret to  /home/python/ . local /share/jupyter/runtime/notebook_cookie_secret
[I 04:51:53.279 NotebookApp] Serving notebooks from  local  directory:  /home/python
[I 04:51:53.279 NotebookApp] 0 active kernels 
[I 04:51:53.279 NotebookApp] The Jupyter Notebook is running at: http: //0 .0.0.0:8888/?token=d5f49225271fb3bdb44091a318af541cc054c377c829374d
[I 04:51:53.279 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 04:51:53.280 NotebookApp] 
     
     Copy /paste  this URL into your browser when you connect  for  the first  time ,
     to login with a token:
         http: //0 .0.0.0:8888/?token=d5f49225271fb3bdb44091a318af541cc054c377c829374d

关闭防火墙后在浏览器访问:

1
[root@ames ~] # iptables -F

访问: http://172.16.251.184:8888

wKioL1m3rHHg6uf8AADfIlMm5GY730.png输入token: d5f49225271fb3bdb44091a318af541cc054c377c829374d

wKiom1m3rO6RDwdQAACSEMDbDcQ180.png

打包env353开发环境:

1
(env353) [python@ames ~]$ pip freeze > requirement.txt

安装env353开发环境到新的虚拟环境:

1
(env361) [python@ames ~]$ pip  install  -r requirement.txt


完!


本文转自 羽丰1995 51CTO博客,原文链接:http://blog.51cto.com/13683137989/1964697


相关文章
|
6月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
417 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
6月前
|
Python
在VScode环境下配置Python环境的方法
经过上述步骤,你的VSCode环境就已经配置好了。请尽情享受这扇你为自己开启的知识之窗。如同你在冒险世界中前行,你的探索之路只有越走越广,你获得的知识只会越来越丰富,你的能力只会越来越强。
638 37
|
10月前
|
Ubuntu Linux 测试技术
Python 虚拟环境配置
本文总结了 Python 开发中的环境配置、常用操作和常见错误处理。重点介绍了如何使用 `virtualenv` 搭建虚拟环境,解决依赖冲突问题,并保持系统环境的干净。同时,详细说明了依赖库的安装与管理方法,包括使用 `pip install` 安装依赖、生成和使用 `requirements.txt` 文件,以及查看 Python 文档和修改环境变量等实用技巧。
721 60
|
10月前
|
Shell Linux Ruby
Python3虚拟环境venv
`venv` 是 Python 的虚拟环境工具,用于为不同项目创建独立的运行环境,避免依赖冲突。通过 `python3 -m venv` 命令创建虚拟环境,并使用 `source bin/activate` 激活。激活后,所有 Python 包将安装在该环境中,不影响系统全局环境。退出环境使用 `deactivate` 命令。每个虚拟环境拥有独立的包集合,确保项目间的隔离性。删除虚拟环境只需删除其目录即可。
854 34
|
8月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
10月前
|
人工智能 Java Python
python安装、vscode安装、conda安装:一文搞定Python的开发环境(史上最全)
尼恩架构团队推出了一系列《LLM大模型学习圣经》PDF,旨在帮助读者深入理解并掌握大型语言模型(LLM)及其相关技术。该系列包括Python基础、Transformer架构、LangChain框架、RAG架构及LLM智能体等内容,覆盖从理论到实践的各个方面。此外,尼恩还提供了配套视频教程,计划于2025年5月前发布,助力更多人成为大模型应用架构师,冲击年薪百万目标。
|
10月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
229 1
|
10月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
653 2
|
10月前
|
Python
探索Python虚拟环境:virtualenv、venv与pipenv比较
在Python开发中,有效的环境管理至关重要。virtualenv、venv和pipenv是常用的虚拟环境管理工具。virtualenv支持Python 2.7+和3.3+,可创建独立环境;venv为Python 3.3+内置库,简单轻量但功能有限;pipenv则结合了包管理和虚拟环境管理,生成Pipfile.lock确保依赖确定性和安全性,推荐作为首选工具。
373 2
|
10月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
232 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈

推荐镜像

更多