GVKun编程网logo

如何更改默认的virtualenv提示?(把virtualization设置为enabled状态)

6

在本文中,我们将带你了解如何更改默认的virtualenv提示?在这篇文章中,我们将为您详细介绍如何更改默认的virtualenv提示?的方方面面,并解答把virtualization设置为enabl

在本文中,我们将带你了解如何更改默认的virtualenv提示?在这篇文章中,我们将为您详细介绍如何更改默认的virtualenv提示?的方方面面,并解答把virtualization设置为enabled状态常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的Apache默认的VirtualHost、Centos7 虚拟环境 virtualenv 与 virtualenvwrapper 的安装及基本使用、linux unbuntu 虚拟环境 安装沙盒 virtualenv 、virtualenvwrapper、Linux下virtualenv与virtualenvwrapper详解

本文目录一览:

如何更改默认的virtualenv提示?(把virtualization设置为enabled状态)

如何更改默认的virtualenv提示?(把virtualization设置为enabled状态)

如何更改默认的Virtualenvwrapper提示符?默认情况下,使用“ workon
<name_of_env>”之类的命令在特定的虚拟环境上工作,会将virtualenv的名称添加到提示中。如果您未使用默认命令提示符,则此方法可能效果不佳。

答案1

小编典典

默认情况下,当使用命令“ workon
”切换到virtualenv时,virtualenvwrapper将在字符串(())前面添加一个字符串。问题是我在行中设置了Bash提示符:

PROMPT_COLOR1=''0;36m''PROMPT_COLOR2=''1;34m''PS1=''\n\[\033[$PROMPT_COLOR1\](\t)\[\033[$PROMPT_COLOR2\] \u @ \w \n\[\033[$PROMPT_COLOR1\]$ \[\033[0;39m\]''

这将产生以下命令提示符:

< old_line >(19:11:05) kevin @ ~/research $

使用“ workon ”切换到新的虚拟环境会将命令提示符更改为:

< old_line >(< name_of_env >)(19:11:05) kevin @ ~/research $

这比我想要的更混乱,而且启动的颜色错误。我希望有这样的东西:

< old_line >(< name_of_env >) (19:11:05) kevin @ ~/research $

IanBicking之前曾指出过virtualenvwrapper的钩子是解决方案,但我认为我会发布我的实际代码以节省一分钟的时间。

我只是编辑$ WORKON_HOME / postactivate文件以包括以下行:

# color virtualenv name properly and put it after the \n if there is one at the start of the promptif [ ${_OLD_VIRTUAL_PS1:0:2} == ''\n'' ]; then    PS1="\n\[\033[$PROMPT_COLOR1\](`basename \"$VIRTUAL_ENV\"`) ${_OLD_VIRTUAL_PS1:2:${#_OLD_VIRTUAL_PS1}}"else    PS1="\[\033[$PROMPT_COLOR1\](`basename \"$VIRTUAL_ENV\"`) $_OLD_VIRTUAL_PS1 "fi

和瞧!颜色和位置是正确的,甚至当您直接从一个虚拟环境切换到另一个虚拟环境(我没想到)时,它甚至也可以使用。

Apache默认的VirtualHost

Apache默认的VirtualHost

我怎么能在apache中设置一个默认的VirtualHost? 最好,我希望默认主机不要与IP地址主机相同。 现在我有这样的东西:

NameVirtualHost * <VirtualHost *> ServerAdmin admin@domain.com DocumentRoot /someOtherDir/ ServerAlias ip.of.the.server </VirtualHost> <VirtualHost *> ServerAdmin admin@domain.com DocumentRoot /someroot/ ServerAlias domain.com *.domain.com </VirtualHost *>

如果某个域转发到我的服务器,但不在此vhost.conf文件中,则会按预期的方式加载/ someOtherDir /中的文件。 但是我希望能够为ip地址本身和未添加到vhost.conf文件(还)的域使用不同的根目录。 这可能吗?

编辑:纠正了我的代码,所以它看起来更像是实际的vhost.conf文件

Apache的多个虚拟主机在相同的IP(不同的url)

如何创build一个VirtualHost来只提供静态内容

WAMP虚拟主机不能正常工作

WAMP服务器虚拟主机configuration

不同的文件夹作为网站子文件夹

如何在Ubuntu 12.10中创buildVirtualHost

Tomcat Cookie不能通过我的ProxyPass VirtualHost工作

dynamicconfiguration的虚拟主机

在启动基于定制的Amazon Linux AMI的ec2后,第二个虚拟主机的DocumentRoot被更改

Apache mod_rewrite任何子域到根域,除非作为virtualdocumentroot存在

我找到了答案:我记得,如果没有找到其他匹配块,Apache使用第一个块,所以我添加了块的顶部没有serveralias块:

NameVirtualHost * <VirtualHost *> DocumentRoot /defaultdir/ </VirtualHost> <VirtualHost *> serverAdmin admin@domain.com DocumentRoot /someOtherDir/ serverAlias ip.of.the.server </VirtualHost> <VirtualHost *> serverAdmin admin@domain.com DocumentRoot /someroot/ serverAlias domain.com *.domain.com </VirtualHost>

如果您使用Debian风格的虚拟主机配置(sites-available / sites-enabled),设置Default Virtualhost的一种方法是首先在httpd.conf或apache.conf中包含特定的配置文件(或者什么是您的主要配置文件)。

# To set default VirtualHost,include it before anything else. IncludeOptional sites-enabled/my.site.com.conf # Load config files in the "/etc/httpd/conf.d" directory,if any. IncludeOptional conf.d/*.conf # Load virtual host config files from "/etc/httpd/sites-enabled/". IncludeOptional sites-enabled/*.conf

另一种设置是在配置文件的结尾处使用默认虚拟主机而不是开头。 这样,所有可选的虚拟主机将在被默认的虚拟主机匹配之前被检查。

例:

NameVirtualHost *:80 listn 80 ... <VirtualHost *:80> serverName host1 DocumentRoot /someDir </VirtualHost> <VirtualHost *:80> serverName host2 DocumentRoot /someOtherDir </VirtualHost> <VirtualHost *:80> DocumentRoot /defaultDir </VirtualHost>

NameVirtualHost选项将是一个不错的选择。

总结

以上是小编为你收集整理的Apache默认的VirtualHost全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Centos7 虚拟环境 virtualenv 与 virtualenvwrapper 的安装及基本使用

Centos7 虚拟环境 virtualenv 与 virtualenvwrapper 的安装及基本使用

. 使用虚拟环境的原因

在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。这里,就要使用 virtualenv 与 virtualenvwrapper 来解决这个问题,一个可以帮助我们管理不同 Python 环境的绝好工具。virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。

.virtualenv 安装与使用

1. 安装 virtualenv

#指定清华源下载 pip 的包 (-i 后面为清华源)

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

#也可以直接使用命令

pip3 install virtualenv

#(如果提示 pip 版本太旧可以使用) 升级 pip 工具

pip3 install --upgrade pip

2.virtualenv 使用方法

(1) 创建目录

mkdir Myproject

cd Myproject

(2) 创建独立运行环境 - 命名

virtualenv --python=/usr/bin/python3 demo1

#得到独立第三方包的环境,并且指定解释器是 python3

(3) 进入虚拟环境

source  activate

#此时进入虚拟环境 (venv)Myproject

4. 安装第三方包

(venv)Myproject: pip3 install django==2.2

#此时 pip 的包都会安装到 venv 环境下,venv 是针对 Myproject 创建的

5. 退出 venv 环境

deactivate 命令

6.

virtualenv 是如何创建独立 Python 运行环境的呢?原理很简单,就是把系统 Python 复制一份到 virtualenv 的环境,用命令 source activate 进入一个 virtualenv 环境时,virtualenv 会修改相关环境变量,让命令 python pip 均指向当前的 virtualenv 环境。

7. 安装最简单的 django 项目

# mysite2 为项目名

django-admin startproject mysite2

python3 manage.py startapp app01 #app01 为 app 名称
修改下 settings.py
ALLOWED_HOSTS = ["*"]

# centos7 需要开启 web 端口
firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --reload

python manage.py runserver 0.0.0.0:8000

 

.virtualenvwrapper 安装与使用 (推荐)

virtualenv 的一个最大的缺点就是:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

一种可行的解决方案是,将所有的虚拟环境目录全都集中起,并且针对不同的目录做不同的事。

使用 virtualenvwrapper 管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了 source 的步骤。

1. 安装 virtualenvwrapper

# 安装

pip3 install virtualenvwrapper

# 配置全局变量

[root@hsz Myproject]# find / -name virtualenvwrapper.sh

find: /proc/70508: No such file or directory

/usr/local/python3/bin/virtualenvwrapper.sh

[root@hsz Myproject]# vi ~/.bashrc

# 添加内容

# 虚拟环境的保存目录

WORKON_HOME=~/Envs

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=''--no-site-packages''

source /usr/local/python3/bin/virtualenvwrapper.sh

# 使之生效

source ~/.bashrc

也可以:
vi ~/.bash_profile
写入以下几行代码(export可以先去掉) export WORKON_HOME
=~/Envs # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=''--no-site-packages'' # 添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变) source /opt/python34/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本

 

2. 使用 virtualenvwrapper 创建项目

# 创建虚拟环境 demo3

# 如果使用: mkvirtualenv demo3 -p python3  (使用相应的 python 版本)

[root@hsz Myproject]# mkvirtualenv demo3

Using base prefix ''/usr/local/python3''

New python executable in /root/Envs/demo3/bin/python3.6

Also creating executable in /root/Envs/demo3/bin/python

Installing setuptools, pip, wheel...

done.

# 查看有哪些虚拟环境

(demo3) [root@hsz Myproject]# workon

demo3

# 进入 demo3 虚拟环境

(demo3) [root@hsz Myproject]# workon demo3

(demo3) [root@hsz Myproject]# ls

demo1  demo2  mysite

# 安装 django == 后面表示版本

(demo3) [root@hsz]#  pip3 install django==2.2

# 创建 django 项目

(demo3) [root@hsz Myproject]# django-admin startproject mysite3

(demo3) [root@hsz Myproject]# ls

demo1  demo2  mysite  mysite3

# mysite3 下的 mysite3 修改 settings.py 的配置 , []  ”*”

ALLOWED_HOSTS = ["*"]

# 运行 django 成功

python manage.py runserver 0.0.0.0:8000

 

# 注意 centos7 需要开启 web 端口,步骤如下

firewall-cmd --permanent --add-port=8000/tcp

firewall-cmd --reload 

# 或者直接关闭 firewall

## 关闭命令

systemctl stop firewalld

## 查看 firewall 状态

systemctl status firewalld

 

linux unbuntu 虚拟环境 安装沙盒 virtualenv 、virtualenvwrapper

linux unbuntu 虚拟环境 安装沙盒 virtualenv 、virtualenvwrapper

 

1、沙盒安装命令:

最新版本:sudo easy_install virtualenv 或者 sudo apt-get install virtualenv 

指定版本:pip install virtualenv [== 软件版本号]

作用:virtualenv 用于创建独立的 python 环境,多个 python 相互独立,互不影响.
功能:在没有权限的情况下安装新套件;不同应用可以使用不同的套件版本;套件升级不影响其他应用

2、安装 virtualenvwrapper

 virtualenvwrapper 命令:

最新版本:sudo easy_install virtualenvwrapper 或者 sudo apt-get install virtualenvwrapper

指定版本:pip install virtualenvwrapper [== 软件版本号]

作用:virtualenvwrapper 是 virtualenv 的扩展包,便于管理虚拟环境
功能:将所有虚拟环境整合在一个目录下;管理(新增,删除,复制)虚拟环境;切换虚拟环境

3、‘配置

在终端 home 输入:

sudo vim ~/.bashrc

进入配置文件,在末尾加上:

export WORKON_HOME=$HOME/.virtualenvs
PROJECT_HOME=$HOME/test/workspace # 指定虚拟环境工作的目录 , test为用户名,workspace为工作的目录。可以没有
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh # virtualenvwrapper.sh文件的位置,可以用whereis virtualenvwrapper.sh命令来获取

退出文件,在终端执行  

source ~/.bashrc

4、创建虚拟环境:

查找 Pyhton 版本路径的方法 : 在终端输入:

whereis python3.5 (pyhton版本号)
在终端输入

mkvirtualenv -p pyhton版本的路径 虚拟环境的名称 

例如:mkvirtualenv -p /usr/bin/python3.5 py3

使用虚拟环境:

workon 虚拟环境名称
例如:
workon py3

退出虚拟环境

deactivate  

删除虚拟环境

 

rmvirtualenv py3

 

 

 

 

 

Linux下virtualenv与virtualenvwrapper详解

Linux下virtualenv与virtualenvwrapper详解

在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;

亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。

此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。

这里,就要隆重介绍 virtualenv,一个可以帮助我们管理不同 Python 环境的绝好工具。

virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。

一、Linux下安装、配置virtualenv

#指定清华源下载pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
#升级pip工具
pip3 install --upgrade pip

 

1.安装virtualenv
pip3 install virtualenv 

2.创建目录 mkdir Myproject cd Myproject 3.创建独立运行环境-命名 virtualenv --no-site-packages --python=python3 venv#得到独立第三方包的环境,并且指定解释器是python3 4.进入虚拟环境 source venv/bin/activate#此时进入虚拟环境(venv)Myproject 5.安装第三方包 (venv)Myproject: pip3 install django==1.9.8 #此时pip的包都会安装到venv环境下,venv是针对Myproject创建的 6.退出venv环境 deactivate命令 7. virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

二、确保开发环境的一致性

1.假设我们在本地开发环境,准备好了项目+依赖包环境
2.现在需要将项目上传至服务器,上线发布
3.那么就要保证服务器的python环境一致性
解决方案:
1.通过命令保证环境的一致性,导出当前python环境的包
pip3 freeze > requirements.txt   

这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。
可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。 2.上传至服务器后,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖 pip3 install -r requirements.txt

 三、虚拟环境之virtualenvwrapper

virtualenv 的一个最大的缺点就是:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

并且还有可能你忘记了虚拟环境放在哪。。。

  • 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
  • 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。

步骤1:安装virtualenvwrapper

pip3 install virtualenvwrapper

步骤2:设置Linux的环境变量,每次启动就加载virtualenvwrapper

把下面两行代码添加到 ~/.bashrc(针对于当前用户)文件中 或 /etc/profile(针对于所有的用户)  #写入如下内容 
打开文件
vim ~/.bashrc
写入以下两行代码
export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=''--no-site-packages''   #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3     #指定python解释器
source /opt/python34/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc

 

步骤3:基本使用virtualenvwrapper

创建一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。

在虚拟环境上工作:激活虚拟环境my_django115
$ workon my_django115


再创建一个新的虚拟环境
$ mkvirtualenv my_django2

virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。

workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1.15

workon django2.0

也可以手动停止虚拟环境
deactivate

删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115

步骤四:常用其他命令

复制代码
lsvirtualenv
列举所有的环境。
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages
和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages
显示 site-packages 目录中的内容。

完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

图解

二、Mac下创建pycharm

 

第二步:

第三步:此时这里的Django环境是虚拟环境的版本

第四步:检查venv下的django版本

第五步:添加已创建的虚拟环境venv的python解释器,至pycharm,用于创建1.98指定版本的django

第六步:成功启动1.98版本的django

 

关于如何更改默认的virtualenv提示?把virtualization设置为enabled状态的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Apache默认的VirtualHost、Centos7 虚拟环境 virtualenv 与 virtualenvwrapper 的安装及基本使用、linux unbuntu 虚拟环境 安装沙盒 virtualenv 、virtualenvwrapper、Linux下virtualenv与virtualenvwrapper详解的相关知识,请在本站寻找。

本文标签: