linux,python 多版本共存,不同版本PIP如何使用

本文详细介绍了如何在Linux环境下实现Python多版本共存,通过在home目录下创建独立的Python环境,避免不同用户间的环境冲突。特别讲解了如何使用Anaconda进行安装配置,设置环境变量,以及如何通过别名方式指定个人专属的Python和pip路径,确保库的安装不受他人环境影响。

序言:

            相信大家,在工作中都会遇到这样的问题,有的程序开始限定是用python那个版本,或者说我们在公用服务器上面,不想别人更改我们的环境,今天给大家介绍怎么来在home目录下面建一个自己的目录,建一个属于自己的库。

1:python的安装。

             在这里我用的是anaconda来配置的,官方的程序也是类似。首先,在home目录下建立一个自己的目录

mkdir wfile

进入目录下面,

把你下载好的anaconda的程序放在当前目录下面,pass(如果在命令行不方便的换,可以mv   /oldpath /newpython),执行,

bash Anaconda2-5.2.0-Linux-x86_64.sh 
### 这里是执行这个SHELL程序

 

前面都是正常操作,我就不多说了,注意这一步是关键,我们要把我们的程序放到我们自己的文件夹,防止别人随意更改。

在这里我们可以给出文件的安装路径,例如我的就是/home/kzkj/wfile/anaconda2,你们可以安装你们当前的路径适当的修改。

后面就是正常安装了。

注意下面了:

!!!!!!

这里我们一定要选择NO,我们自己来配置当前的环境变量。因为,yes会覆盖掉别人的环境变量,或者导致别人来调用你的程序。

后面就是正常安装了。

第二个要注意的地方:

因为我们之间没有默认添加环境变量,在这里我们自己在添加环境变量,

vim ~/.bashrc

进入用户环境变量,

# added by Anaconda2 installer
alias py27="/home/lee/wfie/anaconda2/bin/python2.7"
记住路径配置的方式,是指到你刚才安装anconda所在目录下的/bin/python2.7,前面是你们自己的路径。

 注意,在这里我们用的是别名的方式,这里你可以选择你自己喜欢,并且好记的。记住路径配置的方式,是指到你刚才安装anconda所在目录下的/bin/python2.7,前面是你们自己的路径。

接下来刷新环境变量

source ~/.bashrc

这样你会发现,你输入你个的别名,会没有覆盖掉原来的python。

第三个要注意的地方:

我们会遇到一个问题,我们用了别名来解决python启动的问题,那么,pip程序安装问题怎么解决呢,我们如何知道pip安装的东西是安装到我们自己的文件目录,还是安装到别人的文件目录呢。在这里我们可以看看你们本机当期pip指向的安装目录。

pip -V

看我这里,他并不是指向我们刚才安装的目录,所以我们直接用PIP安装并不会安装到我们自己python目录下面。我们python用pip安装的程序一般会默认放在

~/wfile/anaconda2/lib/python2.7/sitpackage

前面是你们自己的,从anaconda2,是相同的。在这里我给你们说说为什么如果直接使用pip不会安装到自己的目录下面(不想看的可以直接跳到最后)。

在linux中,会有环境变量这种说法,其实就是,我们在命令行模式,
我们输入命令的搜索路径。刚才上面我们可以看到pip -V指向了一个路径。
如果我们在命令行模式下面,执行pip,系统就是根据环境变量取寻找可执行的命令。
但是,这里有一个问题,如果系统的两个命令,名称相同会发生什么情况了,
这里就是我们多版本Python中PIP的问题。这时候系统会直接给出两个路。
或者覆盖掉前一个路径,具体什么我也忘了。反正就是不能正常了。
下面我们给出解决办法。
解决办法:
       在使用pip的时候,我们中自己的别名来使用pip

        例如正常使用是:pip install mxnet
        我们需要更改成:py2.7 -m pip install mxnet. 

      其他依次类推。

 

总结:

上面给出了,python多版本共存,以及在多版本下,pip如果来安装python的库。我想我已经说了很明白了,如果有不明白,可以留言,如果有错误请您联系我更新,如果喜欢,点个关注吧。-.- ..-.- -.--..-.-.-.---..-.-

 

 

 

 

 

 

 

 

 

 

 

 

 

### 实现 Python 多版本共存的最佳实践 为了有效解决 Python多版本共存问题,可以采用 `pyenv` 工具来管理不同版本Python 解释器,并结合虚拟环境(virtual environment, venv)技术隔离项目依赖。这种方法能够显著减少因版本冲突带来的麻烦。 #### 使用 pyenv 管理多个 Python 版本 `pyenv` 是一种轻量级的工具,用于在单个系统上安装和切换不同Python 版本。它允许用户在同一台机器上并行安装多个 Python 发行版,并轻松指定全局、本地或特定 shell 中使用的解释器版本[^1]。 以下是具体操作流程: 1. **安装 pyenv** 需要先安装必要的构建工具和其他依赖项。对于基于 Debian/Ubuntu 的发行版,可以通过以下命令完成前置准备: ```bash sudo apt update && sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git ``` 安装完成后,执行以下命令克隆 pyenv 到本地: ```bash curl https://pyenv.run | bash ``` 2. **配置环境变量** 将 pyenv 添加到系统的 PATH 变量中,在 `.bashrc`, `.zshrc` 或其他 Shell 初始化文件中加入如下内容: ```bash export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)" ``` 3. **安装所需 Python 版本** 使用 pyenv 下载并编译目标 Python 版本。例如,安装 Python 3.9 和 Python 2.7: ```bash pyenv install 3.9.0 pyenv install 2.7.18 ``` 4. **设置默认或局部版本** 设置当前用户的全局默认 Python 版本: ```bash pyenv global 3.9.0 ``` 如果某个目录下的脚本需要使用特定版本,则可以在该目录下定义局部版本: ```bash cd /path/to/project/ pyenv local 2.7.18 ``` #### 虚拟环境的应用场景 即使解决了基础层面的 Python 版本兼容性问题,实际开发过程中仍可能遇到同一版本不同项目的依赖差异。此时应引入虚拟环境机制进一步增强隔离效果。推荐的方式是在每个新项目启动时创建独立的虚拟环境。 以 Kali Linux 上安装 pwncat 为例说明整个过程: 1. 创建一个新的工作区; 2. 执行下面指令建立专属于此应用的虚拟空间: ```bash python3 -m venv ./venv-pwncat source ./venv-pwncat/bin/activate pip install pwncat deactivate ``` 当不再需要此实例时可以直接移除对应路径即可完全清理掉关联数据。 #### 总结 综上所述,通过组合运用 pyenv 和虚拟环境策略,不仅可以妥善处理跨平台间存在的多种 Python 版本需求情况,还能保障各个应用程序之间的相互独立不受干扰^。 ```python import sys print(f"Current Python Version: {sys.version}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值