windows_用conda和virtualenv进行环境适配
windows_用conda和virtualenv进行环境适配

windows_用conda和virtualenv进行环境适配

conda安装不同版本的python

virtualenv等虚拟环境指令,是建立在当前系统版本的

1.使用conda安装所需的python版本

conda create --prefix=h:/**** --name python3.7 python=3.7.0
  • --prefix=E:\conda_env:环境指定位置

    2.使用 conda info --env查看是否成功

    C:\Users\Administrator>conda info --env
    # conda environments:
    #
    base                  *  D:\SoftwareSpace\anaconda
    python3.7                D:\SoftwareSpace\anaconda\envs\python3.7

    3.切换到该版本的目录下查看python是否可用

    D:\SoftwareSpace\anaconda\envs\python3.7>python
    Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    

    4.切换进该虚拟环境

E:\conda_env>activate E:\conda_env

(E:\conda_env) E:\conda_env>python -V
Python 3.7.13

(E:\conda_env) E:\conda_env>

安装virtualenv

1.pip install virtualenv

yum install python-setuptools python-devel

安装virtualenv镜像

2.virtualenv venv

cd到项目目录下,新建虚拟环境venv

image-20210910194720322

3.cd到\scrapytest\Scripts目录下运行activity.bat

进入虚拟环境

image-20210910203824528

4.任意目录均可执行deactivate.bat

退出虚拟环境

image-20210910204011086

5.virtualenv虚拟环境管理包

Centos 环境安装使用pip install virtualenvwrapper

Windows 环境安装使用 pip install virtualenvwrapper-win

linux下还需要配置文件:
配置
编辑 .bashrc文件 vim ~/.bashrc

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

这里不同的linux系统virtualenvwrapper.sh路径可能不同,最好通过find命令找一下

[root@instance-06qq0w7c ~]# find / -name virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh

退出vim后source ~/.bashrc

6.使用virtualenvwrapper管理环境:

mkvirtualenv venvname #新建虚拟环境
workon #查看已安装的虚拟环境
workon venv #切换虚拟环境
rmvirtualenv venv #删除虚拟环境

image-20210910210936358

image-20210910210951687

image-20210910211003113

项目使用虚拟环境

1.转到项目路径

所需的python版本已经有了,那么接下来先转到项目路径下
cd 项目路径

D:\SoftwareSpace\anaconda\envs\python3.7>cd D:\WorkSpace\du_blog

D:\WorkSpace\du_blog>

2.新建虚拟环境

  • mkvirtualenv du_blogs -p

    -p : 指定python版本,想不起来路径可用使用指令conda info --env查看

D:\WorkSpace\du_blog>mkvirtualenv du_blogs -p D:\SoftwareSpace\anaconda\envs\python3.7\python.exe
created virtual environment CPython3.7.0.final.0-64 in 2036ms
  creator CPython3Windows(dest=C:\Users\Administrator\Envs\du_blogs, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\Administrator\AppDat
a\Local\pypa\virtualenv)
    added seed packages: pip==21.2.4, setuptools==57.4.0, wheel==0.37.0
  activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator

(du_blogs) D:\WorkSpace\du_blog>_
  • 此时的虚拟环境目录默认是在C:\Users\Administrator\Envs下,如需更改路径可以更改WORKON_HOME环境变量

image-20210911001300246

image-20210911001207486

pip 打包

我的提问

每次在新环境运行Python文件,都要一个个重新安装第三库,操作上略微麻烦。

这里的新环境指的是,同一使用者的多台电脑,或者是多个使用者。

使用场景

1.拥有几台电脑,可能是windows也可能是mac,或是在公司和在家里不同的电脑上都需要写写Python

2.分享自己的Python文件给其他小伙伴,可能由于第三方库没安装无法运行,问题多多

解决方案

在使用Python的时候,需要把安装的Package通过requirements.txt导出来,一个命令便可部署新环境。

requirements.txt,是用于记录所有依赖包及其精确的版本号。

img

示例

操作步骤

第一步:自动生成requirement.txt

命令:pip freeze > requirements.txt

执行成功后,会自动生成requirement.txt文件,位置与Python文件同级。

(du_blogs) [lemon@iZbp159egvvktszc82dr5xZ du_blog]$ pip freeze > requirements.txt
(du_blogs) [lemon@iZbp159egvvktszc82dr5xZ du_blog]$ cat requirements.txt
Django==2.2
django-mdeditor==0.1.18
importlib-metadata==4.8.1
Markdown==3.3.4
Pygments==2.10.0
pytz==2021.1
sqlparse==0.4.1
typing-extensions==3.10.0.2
zipp==3.5.0

第二步:更换环境

在分享Python文件的同时,记得也要带上requirement.txt文件哦!

第三步:安装requirement.txt

在新环境,执行命令即可一键安装完所需要的第三方库。

命令:pip install -r requirements.txt

# requirements.txt
Django==2.2
django-mdeditor==0.1.18
importlib-metadata==4.8.1
Markdown==3.3.4
Pygments==2.10.0
pytz==2021.1
sqlparse==0.4.1
typing-extensions==3.10.0.2
zipp==3.5.0

D:\WorkSpace\du_blog> pip install -r requirements.txt
Looking in indexes: https://mirrors.aliyun.com/pypi/simple
    ... ...
Successfully installed Django-2.2 Markdown-3.3.4 Pygments-2.10.0 django-mdeditor-0.1.18 importlib-metadata-4.8.1 sqlparse-0.4.1 typing
-extensions-3.10.0.2 zipp-3.5.0

发表回复

您的电子邮箱地址不会被公开。