我最近听到了关于virtualenv的嗡嗡声,我很感兴趣.但我所听到的只是一点点赞美,并且没有清楚地了解它是什么或如何使用它.
我正在寻找(理想情况下)一个后续教程,它可以带我从Windows或Linux上没有Python,并解释每一步(没有特定的顺序):
virtualenvvirtualenv是一个好主意virtualenvvirtualenv并且全面地介绍了应该+可以变化的几个样本情况.
那么有什么好的教程来涵盖这些东西?或者如果您有时间和兴趣,也许您可以在这里回答其中的一些问题.无论是在你的答案中,还是作为回答它的教程的链接,这些都是我想知道的.
对于OSX 10.6用户来说,这是一个备受争议的问题,但我找不到有效的解决方案.这是我的设置:
Python 2.6.1 64bit Django 1.2.1 MySQL 5.1.47 osx10.6 64bit
我用--no-site-packages创建了一个virtualenvwrapper,然后安装了Django.当我激活virtualenv并运行python manage.py syncdb时,我收到此错误:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal …Run Code Online (Sandbox Code Playgroud) 我正在考虑将virtualenv用于我在我的应用程序的git存储库中创建的Django Web应用程序.这似乎是保持部署简单易用的简单方法.我有什么理由不这样做吗?
我是virtualenv的新手,所以很有可能这是一个非常愚蠢的问题.
我激活了一个安装了pip的virtualenv.我做到了
pip3 install Django==1.8
Run Code Online (Sandbox Code Playgroud)
和Django成功下载.现在,我想打开Django文件夹.文件夹位于何处?通常它会在"下载"中,但我不确定如果我在virtualenv中使用pip安装它会是什么.
pip,virtualenv和distribute?在我对问题4314376的回答中,我建议使用,ez_setup以便您可以安装pip并virtualenv如下:
curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
我最初是从Jesse Noller的博客文章中提取这些说明的,所以你想在Mac上使用Python?.我喜欢保持一个干净的全局site-packages目录的想法,所以我安装的唯一其他软件包就是 virtualenvwrapper和distribute.(distribute由于这个Python公共服务公告,我最近添加到了我的工具箱.为了安装这两个软件包,我使用了:
sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
Run Code Online (Sandbox Code Playgroud)
要真正遵循Python公共服务公告,在全新的Python安装上,我会执行以下操作:
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)
在一个评论我的回答 …
我试图从cron运行Django管理命令.我正在使用virtualenv来保持我的项目沙箱.
我在这里和其他地方看过一些示例,它们显示了virtualenv中的运行管理命令:
0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)
但是,即使syslog在任务应该启动时显示一个条目,该任务也从未实际运行(脚本的日志文件为空).如果我从shell手动运行该行,它将按预期工作.
我目前可以通过cron运行命令的唯一方法是打破命令并将它们放入一个愚蠢的bash包装器脚本中:
#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
Run Code Online (Sandbox Code Playgroud)
编辑:
ars提出了一个有效的命令组合:
0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)
至少在我的情况下,调用virtualenv的激活脚本什么也没做.这个有用,等等.
我最近在我的Mac上安装了一堆dotfiles以及其他一些应用程序(我更改为iTerm而不是Terminal,Sublime作为我的默认文本编辑器)但从那以后,我的所有虚拟环境都停止工作,尽管他们的文件夹在.virtualenvs仍然在那里,每当我尝试在其中运行任何东西时,它们都会出现以下错误:
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /Users/[user]/.virtualenvs/modclass/bin/python
Reason: image not found
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)
我删除了与dotfiles相关的所有文件,并将我的.bash_profile恢复到以前的状态,但问题仍然存在.有没有办法诊断问题或以一种简单的方式解决问题(例如,不需要再次创建所有的virtualenvs)?
我正在尝试在我的共享主机上安装新的python环境.我按照这篇文章中的步骤进行操作:
mkdir ~/src
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar -zxvf Python-2.7.1.tar.gz
cd Python-2.7.1
mkdir ~/.localpython
./configure --prefix=/home/<user>/.localpython
make
make install
Run Code Online (Sandbox Code Playgroud)
在进入"./configure --prefix =/home // .localpython"命令后,我得到以下输出:
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux3
checking EXTRAPLATDIR...
checking machine type as reported by uname -m... x86_64
checking for --without-gcc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home3/mikos89/Python-2.7.1':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details. …Run Code Online (Sandbox Code Playgroud) 我已经通过搜索并尝试了各种替代方案而没有成功,现在花了几天时间 - 让我发疯.
使用Python 2.5.2在Red Hat Linux上运行开始使用最新的Virtualenv但无法激活它,我发现某处建议需要早期版本,所以我使用了Virtualenv 1.6.4,因为它应该适用于Python 2.6.
[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.
Run Code Online (Sandbox Code Playgroud)
[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin include lib
Run Code Online (Sandbox Code Playgroud)
[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
Run Code Online (Sandbox Code Playgroud)
[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r-- 1 necrailk biz12 2130 Jan 30 11:38 activate
-rw-r--r-- 1 necrailk biz12 1050 Jan 30 11:38 activate.csh
-rw-r--r-- 1 necrailk biz12 2869 Jan 30 11:38 …Run Code Online (Sandbox Code Playgroud) python ×10
virtualenv ×10
django ×4
cron ×1
distribute ×1
dyld ×1
homebrew ×1
macos ×1
mysql ×1
pip ×1
setuptools ×1