技术标签: virtualenv 编程工具
virtualenv
virtualenv简单使用
virtualenv的介绍及基本使用(所有命令解释)
python虚拟环境 + 批量pip + 换源
irtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,便于不同的项目在同一台机器上开发运行,不同项目之间相互不干扰,即在一台机器上创建多个独立的python运行环境。如下所示:
使用 VirtualEnv 的理由:
安装virtualenv
方法一:pip安装
pip install virtualenv(推荐)
或者
sudo apt-get install virtualenv(不推荐,更新不方便)
方法二:源码安装
下载virtualenv源码package,通过执行setup.py来安装virtualenv。
创建虚拟环境
新建的Python环境被放到当前目录下的venv目录
virtualenv venv
(推荐)创建虚拟环境(继承系统环境)
virtualenv --system-site-packages venv
创建干净的虚拟环境(默认)
# 可能失效
virtualenv --no-site-packages venv
或者
virtualenv venv
注:参数–no-site-packages,安装到系统Python环境中的所有第三方包都不会复制过来,得到了一个不带任何第三方包的“干净”的Python运行环境
指定python版本,默认使用的是当前系统安装(/usr/bin/python)的python解释器
# python2的环境
virtualenv -p /usr/bin/python venv
# python3的环境
virtualenv -p /usr/bin/python3 venv
激活虚拟环境
source venv/bin/activate
退出虚拟环境
deactivate
删除虚拟环境,删除venv文件夹即可
sudo rm -rf venv
安装软件包
pip install numpy
安装requirements.txt依赖包
pip install -r requirements.txt
生成requirements.txt依赖包
pip freeze > requirements.txt
其他参数
用法:
virtualenv [OPTIONS] DEST_DIR
选项:
–version:显示当前版本号。
-h, –help:显示帮助信息。
-v, –verbose:显示详细信息。
-q, –quiet:不显示详细信息。
-p PYTHON_EXE, –python=PYTHON_EXE指定所用的python解析器的版本,比如 –python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 默认使用的是当前系统安装(/usr/bin/python)的python解析器。
–clear:清空非root用户的安装,并重头开始创建隔离环境。
–no-site-packages:令隔离环境不能访问系统全局的site-packages目录。
–system-site-packages:令隔离环境可以访问系统全局的site-packages目录。
–unzip-setuptools:安装时解压Setuptools或Distribute。
–relocatable:重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。
–distribute:使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。
–extra-search-dir=SEARCH_DIRS:用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。
–never-download:禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。
–prompt==PROMPT:定义隔离环境的命令行前缀。
Pycharm中,直接创建virtualenv虚拟环境
拷贝 venv
虚拟环境文件夹
# 如果是服务器中
# 1. 压缩文件
tar -zcvf venv.tar.gz ./venv
# 2. 解压文件
tar -zxvf xxx.tar.gz
修改 venv/bin/activate
文件中的参数:
VIRTUAL_ENV="/home/venv"
将 VIRTUAL_ENV
路径改为当前 venv
文件夹的路径
激活虚拟环境
source ./venv/bin/activate
查看虚拟环境是否复制成功
which python
# 或者
which pip
virtualenv缺点
因为virtual的启动、停止脚本都在特定文件夹(在项目目录里的venv文件夹),可能一段时间后,你可能会有很多个虚拟环境散落在系统各处,你可能忘记它们的名字或者位置。
virtualenvwrapper的优点
鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用 virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利,它把你所有的虚拟环境都放在一个地方。
安装virtualenvwrapper之前,确保virtualenv已安装。
关键步骤
安装virtualenvwrapper
pip install virtualenvwrapper
设置配置文件,并更新配置
sudo gedit ~/.bash
export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
说明:
第二行:virtualenvwrapper存放虚拟环境目录,新建的虚拟环境都会存在该目录中。
第三行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下。
创建虚拟环境
mkvirtualenv venv
指定python版本,默认使用的是当前系统安装(/usr/bin/python)的python解释器
mkvirtualenv --python=/usr/bin/python3 venv
当前的虚拟环境目录
workon
切换虚拟环境
workon py3
退出虚拟环境
deactivate
删除虚拟环境
rmvirtualenv venv
Traceback (most recent call last):
File "/usr/bin/virtualenv", line 11, in <module>
load_entry_point('virtualenv==15.1.0', 'console_scripts', 'virtualenv')()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 724, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 992, in create_environment
download=download,
File "/usr/lib/python3/dist-packages/virtualenv.py", line 922, in install_wheel
call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 817, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command /media/mydisk/MyDocu...det/venv/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2
----------------------------------------
...Installing setuptools < 51.3, pkg_resources, pip < 21, wheel...done.
Traceback (most recent call last):
File "/usr/bin/virtualenv", line 9, in <module>
load_entry_point('virtualenv==15.0.1', 'console_scripts', 'virtualenv')()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 991, in create_environment
download=download,
File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command /home/yoyo/MyDocumen...pth/venv/bin/python3 - "setuptools < 51.3" pkg_resources "pip < 21" wheel failed with error code 2
错误原因:
virtualenv与python版本不匹配
博主安装virtualenv的方式是apt-get方式,导致virtualenv版本无法更新
解决方法:
卸载virtualenv,使用pip方式安装
sudo apt-get --purge remove virtualenv
sudo apt-get autoremove
sudo apt-get autoclean
pip方式重新安装
pip install virtualenv
tx2@tx2:~/Desktop/20220113$ virtualenv -p /usr/bin/python3 venv
bash: /usr/bin/virtualenv: No such file or directory
错误原因:
博主在jetson tx2中用pip3安装virtualenv,安装的路径不是系统默认路径。
解决办法:
1. 查找virtualenv的路径
locate virtualenv
输出:
/home/tx2/.local/bin/virtualenv
2. 创建软链接
sudo ln -s /home/tx2/.local/bin/virtualenv /usr/bin/virtualenv
3. 测试是否成功
virtualenv --version
文章浏览阅读2.8k次。【数据结构】查找1——线性表的查找(顺序查找、折半查找、分块查找)_图顺序查找
文章浏览阅读843次。使用ZipArchiveInputStream而非ZipInputStream的原因主要有以下两点:支持更多的压缩格式:ZipArchiveInputStream是Apache Commons Compress库中提供的类,能够支持多种压缩格式,包括Zip、Gzip、Tar、Jar等。而ZipInputStream是Java标准库中的类,只能读取普通的Zip文件。因此,如果需要处理多种压缩格式的文件,使用ZipArchiveInputStream会更加方便。更多的选项和功能:ZipArchiveInp_malformed input off : 0, length : 1
文章浏览阅读8.3k次,点赞9次,收藏22次。https://blog.csdn.net/m0_37754981/article/details/80022169参考资料_switch case 枚举
文章浏览阅读5.1k次,点赞2次,收藏30次。1.RPC简介及原理介绍RPC技术内部原理是通过两种技术的组合来实现的:本地方法调用 和 网络通信技术。1.1 RPC简介在上述本地过程调用的例子中,我们是在一台计算机上执行了计算机上的程序,完成调用。随着计算机技术的发展和需求场景的变化,有时就需要从一台计算机上执行另外一台计算机上的程序的需求,因此后来又发展出来了RPC技术。特别是目前随着互联网技术的快速迭代和发展,用户和需求几乎都是以指数式的方式在高速增长,这个时候绝大多数情况下程序都是部署在多台机器上,就需要在调用其他物理机器上的程序的情况。_rpc
文章浏览阅读7k次,点赞6次,收藏70次。本文来自公众号“AI大道理目标检测或者实例分割不仅要关心语义信息,还要关注图像的精确到像素点的浅层信息。所以需要对骨干网络中的网络层进行融合,使其同时具有深层的语义信息和浅层的纹理信息。PANet整体结构PANet(Path Aggregation Network)最大的贡献是提出了一个自顶向下和自底向上的双向融合骨干网络,同时在最底层和最高层之间添加了一条“short-cut”,用于缩短层之间的路径。PANet还提出了自适应特征池化和全连接融合两个模块。其中自适应特征_panet
文章浏览阅读1.3w次,点赞13次,收藏14次。本文主要介绍了OperationalError: (sqlite3.OperationalError) unable to open database file解决方案,希望能对使用langchain读取sqlite文件的同学们有所帮助。文章目录1. 问题描述2. 解决方案_sqlite3.operationalerror: unable to open database file
文章浏览阅读10w+次,点赞551次,收藏3.2k次。PID控制详解一、PID控制简介 PID( Proportional Integral Derivative)控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节,它实际上是一种算法。PID控制器问..._pid控制
文章浏览阅读329次。搭建Http静态服务器环境任务时间:15min ~ 30min搭建静态网站,首先需要部署环境。下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务。00、安装 Nginx在 CentOS 上,可直接使用yum来安装 Nginxyum install nginx -y安装完成后,使用nginx命令启动 Nginx:n..._在一个目录下创建静态站点
文章浏览阅读7k次,点赞2次,收藏23次。初始HTML5记事本简单实现HTML5页面_html5网页制作
文章浏览阅读6.8k次。1、打开 VMware Workstation,点击 “编辑” -> "虚拟网络编辑器"2、选择 “更改设置”(若界面内没有,则不用理会)3、选择 “VMnet8”,更改为192.168.88.0(按需填写)、为255.255.255.0,点击 “NAT设置”4、更改为192.168.88.2(按需填写),当前界面点击确定,“虚拟网络编辑器”界面再点击确定。_centos配置ip地址
文章浏览阅读2.9k次。首先,P文件为了保护知识产权设计的一种加密文件,是不能查看的。运行比较简单,和调用m文件方法一样。下面是一些解释。P文件是对应M文件的一种预解析版本(preparsedversion)。因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析),这无形中增加了执行时间。所以我们就预先作解释,那么以后再使用..._matlab怎么调用p文件
文章浏览阅读2.1k次。最近在做一个移动端的响应式页面,对自定义样式要求较高,很多地方需要细微的调整,比如按钮、链接等内联元素,不能只是让它看起来居中,而要做到“响应式”居中……水平居中很简单,但是垂直居中的问题困扰了我很久,直到我研究过bootstrap的_variables.scss文档后,才仔细地了解到一些组件的构造。如果修改了inline/inline-block元素的默认样式后,里面的文字不居中了,试试这个方法,只需要5步~_a-button居中