virtualenvwrapper.sh在哪里?

我不知道哪个更尴尬:我自己不知道如何找到这个问题的答案,还是这个问题本身就必须被问出来,但是...
在安装virtualenvwrapper后,apt-get会把virtualenvwrapper.sh脚本放在哪里呢?
我已经束手无策了...
% sudo apt-get install virtualenvwrapper
...
% rehash
% which virtualenvwrapper.sh
virtualenvwrapper.sh not found
% which virtualenvwrapper
virtualenvwrapper not found
% find / -path /media -prune -o -name virtualenvwrapper.sh
/media
% dpkg-query -L virtualenvwrapper | grep 'virtualenvwrapper\.sh'
% sudo apt-get install virtualenvwrapper
Reading package lists...
Building dependency tree...
Reading state information...
virtualenvwrapper is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我已经尝试了所有的方法,但是apt-get命令显示virtualenvwrapper已经安装,但是我找不到任何virtualenvwrapper.sh文件的踪迹。
更新:我刚刚发现这个文件。
/etc/bash_completion.d/virtualenvwrapper

...看起来非常像virtualenvwrapper.sh。我无法确定这个文件是在我运行apt-get install virtualenvwrapper时由apt-get放置的(文件的修改日期是几个月前),但如果是的话,那么这种安排显然让人困惑...首先,并不是每个人都使用bash(我碰巧使用zsh)。其次,有时候可能希望在启动之外的时间运行virtualenvwrapper.sh...我确定我在这里漏掉了一些重要的东西,但表面上看,apt-get安装virtualenvwrapper就是愚蠢的...无论如何,它浪费了我大约三个小时的时间...

2另一个zsh用户在此... 不妨停止使用官方包来安装virtualenvwrapper,这样能少些意外! - kaleissin
你也可以在zsh中使用/etc/bash_completion.d/virtualenvwrapper这个文件。它可以正常工作,不需要做任何修改。 - Jim Stewart
@JimStewart 我可以做很多事情。但打包的意义在于我不必这样做。 - user301031
2个回答

/usr/share/doc/virtualenvwrapper/README.Debian中:

与/usr/share/doc/virtualenvwrapper/en/html/index.html中的信息相反,此软件包将virtualenvwrapper.sh安装为/etc/bash_completion.d/virtualenvwrapper。
如果您安装了bash-completion软件包并在/etc/bash.bashrc或您的~/.bashrc中启用了bash完成支持,则会启用Virtualenvwrapper。
如果您只想使用virtualenvwrapper,您可以简单地将以下内容添加到您的~/.bashrc中:
source /etc/bash_completion.d/virtualenvwrapper 是的,有点难找到:D

2zsh用户怎么办?太好了,又一个在每个操作系统上表现不同的软件包。我觉得应该执行sudo apt-get purge virtualenvwrappersudo pip install virtualenvwrapper - metakermit
1你也可以在zsh中使用/etc/bash_completion.d/virtualenvwrapper这个文件。它可以正常工作,不需要做任何修改。 - Jim Stewart

在Ubuntu上,脚本的位置是:
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

如果你使用包管理器安装了virtualenvwrapper,那么你必须将以下几行代码添加到你的~/.bashrc文件中:
export WORKON_HOME=~/.virtualenvs
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

另外,记得使用以下命令重新加载你的~/.bashrc文件:
$ source ~/.bashrc

如果一切顺利,那么你就可以像这样运行mkvirtualenv
mkvirtualenv --python="/usr/bin/python3" venv_name

这是目前的正确解决方案。 - rbanffy