pip 换源与python虚拟环境的创建

pip换源

临时换源:

pip install  pypi源下载源码,在国外,比较慢---》镜像(pypi在国内备份)--->豆瓣,清华,阿里
pip install -i 源地址  模块名  临时生效

永久换源

想以后只要 pip install django---》直接从国内下载

配置---》永久生效

win平台
1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
3、新增 pip.ini 配置文件内容

mac/linux
1、在用户根目录下 ~ 下创建 .pip 隐藏文件夹,如果已经有了可以跳过
    -- mkdir ~/.pip
2、进入 .pip 隐藏文件夹并创建 pip.conf 配置文件
    -- cd ~/.pip && touch pip.conf
3、启动 Finder(访达) 按 cmd+shift+g 来的进入,输入 ~/.pip 回车进入
4、新增 pip.conf 配置文件内容
[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com

pycharm换源

在pycharm的Manage Repositories中添加源地址即可

虚拟环境的创建

为什么会出现虚拟环境?
    -假设有个项目django 1.11.8
  -又有个项目django 2.2.2
  -由于在系统的解释器上只能装一个django,导致同时只能跑一个项目
  -每个项目使用自己的一个解释器---》虚拟环境--》通过系统解释器创造出一个解释器环境,他俩相互不干扰
  -系统有解释器,第一个项目有个虚拟环境 django1.11.8 ,第二个项目有个虚拟环境 django 2.2.2
  -以后变成,一个项目一个解释器
其他语言相关方案
    -vue 项目路径下--》node moduls---》这个项目依赖的环境--》删除---》npm install
  -go:go mod解决多版本共存问题
  -java:maven解决多版本jar包问题
  -python:虚拟环境

python中虚拟环境解决方案有好几个(virtualenv,pipenv。。。。)

我们进行开发的时候虚拟环境搭建尤为重要,我们如果需要的python解释器模块版本不一样可以采用这个办法

pycharm中搭建

命令创建虚拟环境

比如centos没有图形化界面的话,没法装pycharm,没法点点点创建,只能使用命令

第一步:安装

pip3 install virtualenv   # 虚拟环境模块
pip3 install virtualenvwrapper-win # 虚拟环境辅助模块,更快捷方便的操作和管理虚拟环境

建议安装的时候换个源,太慢了, 安装完,在script文件夹下就会有 virtualenv.exevirtualenvwrapper.bat批处理文件

第二步:配置环境

这里配置环境变量是为了更方便的使用命令直接创建虚拟环境

环境变量中点新建:

变量名:WORKON_HOME
变量值:自定义存放虚拟环境的绝对路径
eg: WORKON_HOME
    D:\Virtualenvs

PS:同步配置信息

如果没有同步配置,可以尝试去向Python3的安装目录的Scripts文件夹下 双击virtualenvwrapper.bat文件编译,或者重启cmd

##  虚拟环境命令
1、创建虚拟环境到配置的WORKON_HOME路径下
选取默认Python环境创建虚拟环境:
    -- mkvirtualenv 虚拟环境名称
基于某Python环境创建虚拟环境,并进入到虚拟环境:
    -- mkvirtualenv -p python2.7 虚拟环境名称
    -- mkvirtualenv -p python3.6 虚拟环境名称

2、查看已有的虚拟环境
    -- workon

3、使用某个虚拟环境
    -- workon 虚拟环境名称

4、进入|退出 该虚拟环境的Python环境
    -- python | exit()

5、为虚拟环境安装模块
    -- pip或pip3 install 模块名

6、退出当前虚拟环境
    -- deactivate

7、删除虚拟环境(删除当前虚拟环境要先退出)
    -- rmvirtualenv 虚拟环境名称

这样就完成了

mac和linux
## 第一步安装
pip3 install -i https://pypi.douban.com/simple virtualenv
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
## 第二步:找到virtualenvwrapper
先找到virtualenvwrapper的工作文件 virtualenvwrapper.sh,该文件可以刷新自定义配置,但需要找到它
MacOS可能存在的位置 /Library/Frameworks/Python.framework/Versions/版本号文件夹/bin
Linux可能所在的位置 /usr/local/bin  |  ~/.local/bin  |  /usr/bin
建议不管virtualenvwrapper.sh在哪个目录,保证在 /usr/local/bin 目录下有一份
如果不在 /usr/local/bin 目录,如在 ~/.local/bin 目录,则复制一份到 /usr/local/bin 目录
    -- sudo cp -rf ~/.local/bin/virtualenvwrapper.sh /usr/local/bin

### 第三步:配置环境变量
在 ~/.bash_profile 完成配置,virtualenvwrapper的默认默认存放虚拟环境路径是 ~/.virtualenvs
WORKON_HOME=自定义存放虚拟环境的绝对路径,需要自定义就解注
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

在终端让配置生效:
    -- source ~/.bash_profile

环境变量

补充:
    -环境变量:在命令行下敲某个命令,为什么能执行?---》要么这个命令就在当前路径下,要么在环境变量的path路径下, 如果能找到就执行,找不到就报错
  -环境变量有两种:用户环境变量--》当前用户有效,系统环境变量--》所有人都有效
    -敲python---》确认好,python到底是python2,还是python3,还是你的虚拟环境的python3
  环境变量的上下顺序
  -pip 和python 成对的,装的模块,给python解释器用的
    pip3 install django
  -python3.6---》pip3   python3.10---》pip3
  -更有甚者:创建了虚拟环境---》虚拟环境有pip---》把虚拟环境的pip加入到了环境变量
    -pip3 install django

  -通过起别名方式来多版本共存
    -python3.6  python3.10
    -pip3.6     pip3.10

Original: https://www.cnblogs.com/elijah-li/p/16276667.html
Author: elijah_li
Title: pip 换源与python虚拟环境的创建

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612076/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Centos 7防火墙策略配置指南

    Centos 7防火墙策略配置指南 —— 清听凌雪慕忆 @ 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1…

    Linux 2023年6月7日
    0141
  • [20220301]oracle如何定位使用library cache mutex.txt

    [20220301]oracle如何定位使用library cache mutex.txt –//这个问题实际上困扰我很久,我开始以为library cache buc…

    Linux 2023年6月13日
    087
  • 嵌入式软件架构设计-模块化

    1 前言 模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功…

    Linux 2023年6月7日
    0106
  • Linux笔记 bash解决if not found 问题

    Linux笔记 bash解决if not found 问题 原因是if [无空格然后在内容然后再空格] 我想应该新手小白都会犯这样问题 正确写法 if [ $# -ne 1 ] 错…

    Linux 2023年6月8日
    0102
  • docker:nginx+confd动态生成配置

    docker:nginx+confd动态生成配置当我们项目越来越多时手动去服务器修改nginx配置是一件很麻烦而且可能出错的事情。我们可以通过 nginx+confd+&#…

    Linux 2023年6月13日
    069
  • 【Redis】单线程理解及可能影响性能的操作

    一. Redis的单线程 二. 可能影响单线程性能的操作 1. bigKey操作 2. 复杂命令 3. 大量key集中过期 4. 淘汰策略 5. 主从全量同步生成RDB 6. AO…

    Linux 2023年5月28日
    0112
  • Linux下使用ssh测试端口是否开启

    当服务器上不允许使用telnet时,可以使用ssh测试远程服务器端口是否开启 具体命令如下 -v 显示连接debug信息 -p port 指定端口 ssh -v -p 80 roo…

    Linux 2023年6月7日
    098
  • 方法的深度理解

    权限修饰符 返回值类型 类名(行参列表 )throws 异常的类型{ //方法体 约定俗称:子类中叫重写的方法,父类中叫被重写的方法。 ①子类重写的方法名和行参列表和父类被重写的方…

    Linux 2023年6月14日
    088
  • Java实现链表

    3、链表 MyLinkedList 有一个头指针,一个尾指针,还有链表长度size 内有两个类,一个是实现了Iterator接口的迭代器类,另一个是Node类,其中Node数据结构…

    Linux 2023年6月14日
    089
  • k8s 用pod 创建的prometheus ,虚拟机断电关机,导致普米无法起来,报错Opening storage failed unexpected end of JSON input

    虚拟机重新启动后,查看Prometheus 查看容器日志 这个问题出现的原因是因为断电关机,导致Prometheus 数据损坏,无法启动,因为我这个Prometheus 是测试使用…

    Linux 2023年6月14日
    066
  • 音频属性

    采样频率就是采用一段音频,做为样本,因为wav使用的是数码信号,它是用一堆数字来描述原来的模拟信号,所以它要对原来的模拟信号进行分析,我们知道所有的声音都有其波形,数码信号就是在原…

    Linux 2023年6月8日
    098
  • spring-data-redis 2.0 的使用

    在使用Spring Boot2.x运行Redis时,发现百度不到顺手的文档,搞通后发现其实这个过程非常简单和简洁,觉得有必要拿出来分享一下。 Spring Boot2.x 不再使用…

    Linux 2023年5月28日
    0102
  • ajax的发展

    ajax(Asynchronous Javascript and XML)异步javascrip和XMl. ajax只是一种web交互方法。在客户端(浏览器)和服务区段之间传输少量…

    Linux 2023年6月13日
    077
  • GIT合并部分文件的CLI

    | 0.24分钟 | 399.2字符 | 1、引言&背景 2、解决方案 3、声明与参考资料 | SCscHero | 2022/5/2 PM10:16 | 系列 | 已完成…

    Linux 2023年6月13日
    077
  • Linux目录标签概览

    根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。由于系统开机时需要特定的开机软件、核心文件、开机所需程序、…

    Linux 2023年6月8日
    078
  • 简单交叉编译学习

    交叉编译 交叉编译是在一个平台上生成另一个平台上的可执行代码。 同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。通常是自己的电脑写好代码编译…

    Linux 2023年6月7日
    0116
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球