pip 安装后 virtualenvwrapper.sh 在哪里?

Posted

技术标签:

【中文标题】pip 安装后 virtualenvwrapper.sh 在哪里?【英文标题】:Where is virtualenvwrapper.sh after pip install? 【发布时间】:2012-09-20 18:24:24 【问题描述】:

我正在尝试在 OSX 上设置 virtualenvwrapper,我发现的所有说明和教程都告诉我向 .profile 添加一个源命令,指向 virtualenvwrapper.sh。我检查了所有 python 和 site-packages 目录,但找不到任何 virtualenvwrapper.sh。这是我需要单独下载的东西吗? pip 安装不正确吗?

这是/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper的内容:

hook_loader.py      hook_loader.pyc     project.py      project.pyc     user_scripts.py     user_scripts.pyc

如您所见,没有 virtualenvwrapper.sh。它在哪里?

【问题讨论】:

对我来说,因为我在运行pip install virtualenvwrapper 之前使用pyenv global 3.9.1 设置了我的默认系统python,所以文件最终安装在~/.pyenv/versions/3.9.1/bin/virtualenvwrapper.sh。希望对使用 pyenv 的其他人有所帮助! 【参考方案1】:

您可以使用find 命令搜索文件:

find / -name virtualenvwrapper.sh

这将从根目录搜索文件的所有目录。


在ubuntu 12.04 LTS上,通过pip安装,安装到

/usr/local/bin/virtualenvwrapper.sh


ubuntu 17.04,普通用户通过pip安装,安装到

~/.local/bin/virtualenvwrapper.sh

【讨论】:

在Ubuntu 20.10上也安装在~/.local/bin/virtualenvwrapper.sh 在 Ubuntu 16.04 上,它安装在 ~/.local/bin/virtualenvwrapper.sh【参考方案2】:

你已经试过了吗?

$ which virtualenvwrapper.sh

【讨论】:

这行得通,但为什么which virtualenvwrapper 行不通?这不是环境变量中的命令名吗? 为了帮助其他人问同样的问题,为什么which 不起作用,这是因为 virtualenvwrapper 实际上是使用其自定义 bash 完成文件来添加纯虚拟命令,其中常见的 virtualenvwrapper命令是一个。因此,驱动器上没有可供which 指向的物理文件。 @yourfriendzak,bash 脚本virtualenvwrapper.sh 需要在任何命令(mkvirtualenvrmvirtualenv 等)可用之前在您的 shell 中获取,即$ source /path/to/virtualenvwrapper.sh跨度> 这比find 快得多,但两者都有效。我在 OS X 上位于usr/local/bin【参考方案3】:

我刚刚用 pip 重新安装了它。

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

这次它把它放在 /usr/local/bin 中。

【讨论】:

这在 Ubuntu 上对我有用,也允许 which virtualenvwrapper.sh 工作,在我这样做之前它一直没有返回任何东西。 在 Fedora 23 上执行此命令后,我发现 virtualenvwrapper.sh 仅在 usr/bin 中。 最初使用apt-get 安装它并登陆/usr/share/virtualenvwrapper/virtualenvwrapper.sh,然后清除它并完成你的伎俩。 如果你 find / -name xxxx.sh 没有找到任何东西,这在 Ubuntu 14.04 中对我有用。【参考方案4】:

virtualenvwrapper.sh 存储/定位的确切路径因操作系统而异。即使在相同的操作系统中,它也会因版本而异。因此我们需要一个适用于所有操作系统版本的通用解决方案。

我发现找到它的路径的最简单方法是:做

pip uninstall virtualenvwrapper

这将提示确认。说不” 但是确认的第一行显示了 virtualenvwrapper.sh 的路径(如果你说是,提示会给出一个它将删除的文件列表。这个列表中的第一个条目包含你机器中 virtualenvwrapper.sh 的路径)

【讨论】:

它对我不起作用。我使用 Python 2.7.14 和 Virtualenv 15.1.0 , virtualenvwrapper 4.8.2。 @whyisyoung:认真的吗?你能在运行“pip uninstall virtualenvwrapper”后立即将屏幕截图发给我吗 不错的快捷方式。我什至将它用于其他库。谢谢! 太棒了!谢谢!【参考方案5】:

或者,像我一样..只需卸载 virtualenvwrapper

sudo pip 卸载 virtualenvwrapper

然后用easy_install安装它

sudo easy_install virtualenvwrapper

这一次我发现安装了文件“/usr/local/bin/virtualenvwrapper.sh”...在此之前,即使通过这个命令,我也没有在任何地方找到该文件

find / -name virtualenvwrapper.sh

【讨论】:

【参考方案6】:

在 Mac 操作系统上

which virtualenvwrapper.sh

你明白了

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

你可以

sudo ln /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh

在你的.bash_profile

source /usr/local/bin/virtualenvwrapper.sh

或者你可以

source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

【讨论】:

【参考方案7】:

在 OS X 10.8.2 中,使用 Python 2.7:

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

【讨论】:

【参考方案8】:

在 OSx EI 队长中,我将 virtualenvwrapper 安装为

sudo pip3 install virtualenvwrapper

,但是我在/user/local/bin 中找不到 virtualenvwrapper.sh, 终于在/Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh找到了,你可以软链接到/usr/local/bin as

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh,你可以按照官方文档中的设置指南进行操作。 祝你好运!

【讨论】:

【参考方案9】:

对我来说是:

~/Library/Python/2.7/bin/virtualenvwrapper.sh

(使用 OS X,安装 pip install --user

【讨论】:

【参考方案10】:

我也有同样的问题。如果你有旧版本的 virtualenvwrapper,那么 pip 将无法工作。

从http://pypi.python.org/pypi/virtualenvwrapper/3.6下载src 和 python setup.py 安装。然后问题就解决了。

【讨论】:

为我工作。谢谢【参考方案11】:

对于基于 RPM 的发行版(如 Fedora 19),运行 sudo pip install virtualenvwrapper 命令后,您可以在以下位置找到该文件:

/usr/bin/virtualenvwrapper.sh

【讨论】:

基于 Manjaro,它也位于 /usr/bin 下,而不是 /usr/local/bin。我不知道为什么。【参考方案12】:

使用普通用户在 Ubuntu 15.10 上使用 pip 安装它,它被放入 ~/.local/bin/virtualenvwrapper.sh 我通过运行找到:

$ find / -name virtualenvwrapper.sh 2>/dev/null

【讨论】:

【参考方案13】:

使用

find / -name virtualenvwrapper.sh

我收到了一大堆“权限被拒绝”,而且文件位置只有一个打印输出。我错过了它,直到我用 pip 再次卸载/安装它时找到该文件位置。

如果你好奇的话,那就是在

/usr/local/share/python/virtualenvwrapper.sh

【讨论】:

要摆脱“权限被拒绝”,您可以将 STDERR 重定向到 /dev/null。例如: $ find / -name virtualenvwrapper.sh 2>/dev/null【参考方案14】:

就我而言(OSX El Capitan,版本 10.11.5),我需要像这样编辑 .profile:

在终端中:

vim ~/.profile

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh                                                                                   

然后重新加载配置文件(它将在当前会话中可用。)

来源 ~/.profile

希望对某人有所帮助。

【讨论】:

【参考方案15】:
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

我已经在 Ubuntu 16.04 上安装了它,它导致了这个位置。

【讨论】:

这也发生在我身上。 :( 同样适用于 ubuntu 20.04【参考方案16】:

在使用 virtualenvwrapper-4.8.4 时,我可以在 macOS Mojave (10.14) 中找到一个

/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh

【讨论】:

【参考方案17】:

虽然这是一个 OS X 问题,但在 Linux (Red Hat) 上对我有用。

我的 virtualwrapper.sh 在

~/.local/bin/virtualenvwrapper.sh

这可能是因为我在本地安装了 virtualenvwrapper,使用 --user 标志...

pip install --user virtualenvwrapper

...作为risky practice 的替代品使用sudo pip

【讨论】:

【参考方案18】:
/usr/local/bin/virtualenvwrapper.sh

【讨论】:

No such file or directory 我还浏览了 /usr/local/bin 目录,找不到任何与 virtualenv 或 virtualenvwrapper 相关的内容【参考方案19】:

我在使用 beagle bone black(debian)时遇到了同样的问题。

手动下载包和安装对我有用。

【讨论】:

【参考方案20】:

对于 Ubuntu 如果您刚刚安装它,请检查终端上的输出,我正在发布我的:

Running setup.py install for virtualenv-clone    
Installing virtualenv-clone script to /home/username/.local/bin
Successfully installed virtualenvwrapper virtualenv virtualenv-clone stevedore pbr six
Cleaning up...

这里第二行告诉你路径。对我来说是/home/username/.local/bin

【讨论】:

【参考方案21】:

pip 不会故意为难你。

问题是基于命令的文件始终安装在/bin 文件夹中,它们可以位于系统路径上的任何位置。

我遇到了同样的问题,我发现我的文件中有这些文件

~/.local/bin/

文件夹而不是

/usr/loca/bin/

这是常见的情况,但我认为他们将默认路径更改为

~ 或 $HOME

目录,因为它对 pip 安装更加隔离,并提供了 apt-get 包和 pip 包之间的区别。

所以说到这里,你有两个选择,要么你去你的 .bashrc 并进行这样的更改

# for virtualenv wrapper
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME/.local/bin/virtualenvwrapper.sh

然后在 virtualenvwrapper 下创建一个目录 /usr/share/ 然后像这样链接你的 virtualwrapper_lazy.sh

sudo ln -s ~/.local/bin/virtualenvwrapper_lazy.sh /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh

您可以检查您的 workon 命令是否正常工作,该命令将列出您现有的 virtualenv。

【讨论】:

【参考方案22】:

如果您以普通用户身份在不使用 sudo 的情况下执行 pip install virtualenvwrapperpip 将运行但不会将文件复制到所需位置,因为缺少权限。

mortiz@florida:~# sudo pip3 install virtualenvwrapper

使用 sudo,文件将在各自的路径下创建:

root@florida:/usr/local/bin# ls -ltr
total 8008
-rwxr-xr-x 1 root staff 8136192 Jun 11 17:45 chromedriver
-rwxr-xr-x 1 root staff   41697 Sep  5 16:06 virtualenvwrapper.sh
-rwxr-xr-x 1 root staff    2210 Sep  5 16:06 virtualenvwrapper_lazy.sh
-rwxr-xr-x 1 root staff     215 Sep  5 16:06 pbr
-rwxr-xr-x 1 root staff     218 Sep  5 16:06 virtualenv-clone
-rwxr-xr-x 1 root staff     213 Sep  5 16:06 virtualenv
root@florida:/usr/local/bin# 

在 Debian GNU/Linux 9 上为我工作

【讨论】:

【参考方案23】:

在我的例子中:/home/username/.local/bin/virtualenvwrapper.sh

【讨论】:

【参考方案24】:

您是否使用 sudo 安装了它? 是我的错误。

【讨论】:

以上是关于pip 安装后 virtualenvwrapper.sh 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

virtualenv 和 virtualenvwrapper

pip install virtualenv 和 virtualenvwrapper 时出现不支持的语言环境设置错误

Centos中使用virtualenvwrapper

树莓派3B+安装virtualenv和virtualenvwrapper

Python之Linux下的virtualenv&&virtualenvwrapper

三步教你在MAC上面设置python虚拟环境——virtualenv & virtualenvwrappe