标签: virtualenvwrapper

终端:shell启动文件在哪里?

我正在关注一个名为Starting a Django 1.4 Project the Right Way的教程,该教程提供了如何使用virtualenv和virtualenvwrapper等方面的指导.

有一节内容如下:

如果你正在使用pip来安装软件包(我不明白你为什么不这样做),你可以通过简单地安装后者来获得virtualenv和virtualenvwrapper.

   $ pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)

安装完成后,将以下行添加到shell的启动文件(.zshrc,.bashrc,.profile等)中.

   export WORKON_HOME=$HOME/.virtualenvs
   export PROJECT_HOME=$HOME/directory-you-do-development-in
   source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

重新加载你的启动文件(例如source .zshrc),你已经准备好了.

我正在运行Mac OSX,并且不太了解我在终端周围的方式.作者究竟是什么意思shell's start-up file (.zshrc, .bashrc, .profile, etc)?我在哪里可以找到这个文件,以便我可以添加这三行?

另外,他的意思是reload your start up file (e.g. source .zshrc)什么?

我将非常感谢OSX特有的详细回复.

macos shell terminal virtualenvwrapper

30
推荐指数
2
解决办法
4万
查看次数

从脚本中获取virtualenv的bin文件夹路径

我正在使用带有django项目的virtualenvwrapper,该项目具有自动编写一些配置文件的管理任务,因此用户只需要

./manage.py generate_configuration > much_nice.conf
Run Code Online (Sandbox Code Playgroud)

然后将文件移动到其他位置.其中一个生成的配置文件是启动芹菜工作者的supervisord的任务.我得到的问题是,我不知道如何输出芹菜可执行文件的路径bin文件夹内的virtualenv中的.基本上,我想要输出命令

which celery
Run Code Online (Sandbox Code Playgroud)

一个选项是使用sys.executable,获取文件夹(这似乎是binvirtualenv 的文件夹),就是这样......但我不确定.

virtualenv有没有任何方法来获取路径本身?

python django virtualenv virtualenvwrapper

29
推荐指数
3
解决办法
3万
查看次数

mkvirtualenv:符号链接的级别太多

我正在运行virtualenv卷饼并得到一个错误,即有太多级别的符号链接.我不知道这意味着什么.

mkvirtualenv --python /usr/local/bin/Python3 mantis
Run Code Online (Sandbox Code Playgroud)

错误:

Running virtualenv with interpreter /usr/local/bin/Python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.4'
New python executable in mantis/bin/Python3
Also creating executable in mantis/bin/python
Traceback (most recent call last):
  File "/Users/croberts/.venvburrito/lib/python2.7/site-packages/virtualenv.py", line 2352, in <module>
    main()
  File "/Users/croberts/.venvburrito/lib/python2.7/site-packages/virtualenv.py", line 825, in main
    symlink=options.symlink)
  File "/Users/croberts/.venvburrito/lib/python2.7/site-packages/virtualenv.py", line 985, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/Users/croberts/.venvburrito/lib/python2.7/site-packages/virtualenv.py", line 1439, in install_python
    raise e
  File "/Users/croberts/.venvburrito/lib/python2.7/site-packages/virtualenv.py", line 1431, in install_python
    stdout=subprocess.PIPE)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/subprocess.py", …
Run Code Online (Sandbox Code Playgroud)

virtualenv virtualenvwrapper

29
推荐指数
4
解决办法
3万
查看次数

Virtualenv特定的pip配置文件

我需要使用不同的pip配置文件,具体取决于我目前正在处理的项目.每个项目都来自一个单独的pypi repo,并且在我的.pip/pip.conf文件中需要自己的块

[global]
    timeout = 60
    index-url = <my_custom_pypi_repo>
Run Code Online (Sandbox Code Playgroud)

有没有办法在virtualenv特定的基础上提供pip.conf文件?

理想情况下,当我跑

 workon env1
 pip install env1_package
Run Code Online (Sandbox Code Playgroud)

它只会尝试从env1配置文件下载

和env2相似我最好跑的时候

 workon env2
 pip install env2_package
Run Code Online (Sandbox Code Playgroud)

我希望它不要从env1 pypi服务器请求这个包.

python pip virtualenv virtualenvwrapper

24
推荐指数
2
解决办法
2万
查看次数

更新后python和virtualenvwrapper的问题:没有名为virtualenvwrapper的模块

我在ubuntu 14.04下使用virtualenv,virtualenvwrapper运行python 2.7.6.现在我从源代码安装了python 2.7.9.新的python解释器现在位于下面,/usr/local/bin但似乎旧的解释器也位于下面/usr/bin.

如果我运行python shell它会显示python2.7.9.但如果我使用mkvirtualenv venv我收到以下消息.

在venv/bin/python中新的python可执行文件
安装setuptools,pip ...完成.
Blockquote/usr/local/bin/python:没有名为virtualenvwrapper的模块

old .bashrc(使用python 2.7.6解释器的工作配置)

# virtualenv-wrappper path
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

新的.bashrc(有失败配置)

# virtualenv-wrappper path
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

使用新的.baschrcI键入source .bashrc并获得以下输出.

/ usr/local/bin/python:没有名为virtualenvwrapper virtualenvwrapper.sh的模块:运行初始化挂钩时出现问题.

如果Python无法导入virtualenvwrapper.hook_loader模块,请检查是否已为VIRTUALENVWRAPPER_PYTHON =/usr/local/bin/python安装了virtualenvwrapper,并且正确设置了PATH.

我也尝试过which -a python:

输出:

/usr/local/bin/python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我想在virtualenv和virtualenvwrapper中使用python 2.7.9.所以我要做的就是让它运转起来?

python virtualenv virtualenvwrapper

23
推荐指数
2
解决办法
4万
查看次数

控制virtualenv中的pip版本

如何控制pip新创建的virtualenv中使用的版本?我相信我已经从操作系统中消除了所有其他版本的pip,但仍然mkvirtualenv从某个地方获得了一个pip-1.5!我希望它在virtualenv中使用pip 1.4.1.

__PRE__

python pip virtualenv virtualenvwrapper python-wheel

22
推荐指数
5
解决办法
1万
查看次数

22
推荐指数
4
解决办法
3万
查看次数

如何在Supervisor中使用virtualenvwrapper?

当我开发和测试我的项目时,我曾经使用virtualenvwrapper来管理环境并运行它:

workon myproject
python myproject.py
Run Code Online (Sandbox Code Playgroud)

当然,一旦我在正确的virtualenv,我使用正确版本的Python,以及其他相应的库来运行我的项目.

现在,我想使用Supervisord来管理同一个项目,因为它已准备好部署.问题是在执行脚本之前告诉Supervisord激活正确的virtualenv的正确方法是什么?我是否需要编写一个单独的bash脚本来执行此操作,并在Supervisord配置文件的命令字段中调用该脚本?

python deployment virtualenv virtualenvwrapper supervisord

21
推荐指数
3
解决办法
3万
查看次数

如何让virtualenvwrapper在鱼壳中工作?

有没有办法在鱼壳里virtualenvwrapper工作?尝试运行virtualenvwrapper命令时workon,我收到以下错误:

fish: Unknown command 'workon'
Run Code Online (Sandbox Code Playgroud)

当我跑

source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

我从一开始就遇到很长的错误:

fish: Expected a command name, got token of type 'Run job in background'. Did you mean 'COMMAND; and COMMAND'? See the help section for the 'and' builtin command by typing 'help and'.

/usr/local/bin/virtualenvwrapper.sh (line 67): if [ "$OS" = "Windows_NT" ] && [ "$MSYSTEM" = "MINGW32" ]
Run Code Online (Sandbox Code Playgroud)

并以:结尾

source: Error while reading file '/usr/local/bin/virtualenvwrapper.sh'
Run Code Online (Sandbox Code Playgroud)

shell virtualenv virtualenvwrapper fish

21
推荐指数
1
解决办法
5403
查看次数

Python有没有像Ruby的rvm那样健壮的东西?

这不是这个问题的重复.

我已经知道了virtualenvvirtualenvwrapperpip,但它们似乎并不完全符合我的要求.

我正在寻找一种方法,我不仅可以安装多个版本的Python,还可以安装多个版本的Django(例如),混合匹配python的"活动"版本和Django的"活动"版本.

例如,我有Django 1.0,1.1和1.2,而trunk是"活跃的".我希望能够在Python 2.5,2.6和2.7上测试它.然后让Django 1.2"活动"并再次在我的所有Python版本上测试它.

我可以看到我可以通过使用virtualenv获得该示例,但是我说我有5个版本的Django应用程序,我想测试Python 2.5,2.6和2.7以及Django版本1.0,1.1的每个组合,以及1.2.此时,afaik,我将需要创建的虚拟环境的数量变得难以管理.

我想能够说,让Python版本X"活跃",使Django版本X"活跃",并使MyApp版本X"活跃",而不必处理创建和切换virtualenvs(我绝对不会'我想做一堆bootstrap脚本).

我正在寻找的东西是否存在于Python中,或者是否有一些我缺少关于virtualenv,virtualenvwrapper和pip的东西,它们已经可以优雅地处理这个问题了?

python pip virtualenv virtualenvwrapper

19
推荐指数
1
解决办法
2874
查看次数