setvirtualenvproj未发生目录更改

2024-10-01 02:38:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我拥抱了虚拟说唱歌手-而且喜欢我看到的很多。然而,当我尝试开始时,我并没有看到我期望的行为,当我试图建立与虚拟环境的项目目录关联。在

我已经安装了virtualenv和-wrapper。我可以创建环境和“训练”列出他们很好。我可以去激活和rm他们高兴。所以一切看起来都很正常。我读了关于project mgmt的文档。(还有a good video tutorial,以及在10:39中解释的所需项目关联行为)

当我试图将一个工作目录与一个env相关联时,它可以接受我的命令,但是当我“处理”项目时,它不会将我放入指定的工作目录中。在

例如,我有一个工作区~/Ross\u代码(我在.bashrc中将其设置为$PROJECT\u HOME)。其中有一个现有的项目文件夹~/Ross_code/superproj

现在我用

mkvirtualenv superp

然后我转到我现有的project dir并将其与env相关联:

^{pr2}$

然后我用“deactivate”退出虚拟env,用

workon superp

但当前的工作目录仍然是我的~/文件夹。
我检查了.project文件,该文件似乎已通过调用setvirtualenvproject正确设置:

cdvirtualenv
more .project
/Users/ross/Ross_Code/superproj

但叫“修工”从来没有让我进入预期的位置。我想也许env和project目录需要使用相同的名称,但这也没有任何区别。在

你知道为什么很有吸引力的项目关联功能对我不起作用吗?在

-罗斯。在

稍后-更多信息: 我还尝试使用mkproject命令,它应该在$PROJECT_HOME区域为我的代码创建一个目录,同时创建virtualenv并将它们相互关联。在

呼叫

mkproject junkproj

实际上创建了项目目录,并将我插入virtualenv,将cd插入junkproj目录。但是当我停用,然后再次“workon junkproj”时,我仍然留在我的~/目录中,而不是进入$project_HOME中的project目录

:(


Tags: 项目代码命令目录envproject文件夹home
2条回答

workon不会自动将目录更改为项目或环境目录。 您可以使用postactivate脚本来实现这一点,virtualenvwrapper tips and tricks section的后半部分有一个非常快速的操作方法。在

这里的问题是virtualenvwrapper的较新版本(从ubuntu 14.04升级到16.04)对setvirtualenvproject参数使用了稍微不同的协议:

setvirtualenvproject [virtualenv_path project_path]

为了在任何虚拟环境中建立所需的关联,请在项目文件夹和virtualenv中使用:

^{pr2}$

点代表当前目录-或者您可以使用workon要带您去的目录的路径。一旦您这样做,workon将切换到您想要的文件夹,cdproject将按预期工作。在

如果您使用旧协议,您的项目文件夹中将有一个.project文件-您可以将其移动到$VIRTUAL_ENV文件夹,而不是使用新协议调用命令来进行关联。该文件只包含要与virtualenvwrapper快捷方式命令(如workoncdproject)关联的项目目录。在

相关问题 更多 >