【发布时间】:2014-08-12 17:26:23
【问题描述】:
我最近使用 virtualenv 1.10、Python 3.2 和 Django 1.7 开始了一个新项目。这是几个项目之一,其他都是 virtualenv 1.10、Python 2.7 和 Django 1.6。
我构建了一个脚本,允许我将项目名称作为参数传递,以激活虚拟环境、启动 Apache 和 MySQL 并运行 Django 开发服务器。
这个脚本一直运行良好,直到我添加了这个最近的虚拟环境和这个新项目的位。现在,当我输入命令时(在终端或启动脚本中):
workon new_project
我得到这个输出:
user@host:~$ workon new_project
bash: cd: one_of_my_other_projects: No such file or directory
(new_project)user@host:~$
我应该注意到脚本运行良好,workon 命令也运行良好;但奇怪的是 cd 命令是使用该特定参数运行的(例如,one_of_my_other_projects)
此外,在这个脚本中,我使用别名(.bash_profile)来更改工作目录。他们有这种形式:
alias oproj "cd /path/to/django/project"
我认为由于我使用source 来运行此启动脚本,因此可能是别名导致了问题(我通读了virtualenvwrapper.sh 并得到了这可能是冲突的印象)。所以我删除了别名,只在 bash 脚本中使用了字符串变量。这不起作用并给出了相同的结果。
我不确定发生了什么。我唯一真正的线索是这个问题只发生在这个新项目上,而且这个项目使用不同版本的 Python 和 Django。
由于我缺乏 bash、Python 等方面的知识,我确定这是一些冲突。我真的不知道从哪里开始。
【问题讨论】:
-
您可以运行
set -x以获取有关您的各种shell 函数和别名正在执行的内容的运行评论。也许它会让你对执行这张 cd 的内容有所了解。 -
不熟悉这个命令。我会试一试,看看能不能让它给我看光。谢谢。
-
您想将您的评论放在答案中以便我接受吗?它解决了我的问题...
标签: django bash virtualenv