ChatGPT解决这个技术问题 Extra ChatGPT

pip 安装后 virtualenvwrapper.sh 在哪里?

我正在尝试在 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 的人!

L
Laurence Billingham

您可以使用 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
h
hepidad

你已经试过了吗?

$ 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 中。
A
Anuj Gupta

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”后立即将屏幕截图发给我吗
不错的捷径。我什至将它用于其他库。感谢!
u
user2625596

我刚刚用 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 中对我有用。
i
iMitwe

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

sudo pip 卸载 virtualenvwrapper

然后用 easy_install 安装

sudo easy_install virtualenvwrapper

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

查找 / -name virtualenvwrapper.sh


T
Tianqi Tong

在 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

j
jackotonye

在 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

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


J
Jules

在 OS X 10.8.2 和 Python 2.7 中:

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


v
vmonteco

对我来说,它在:

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

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


h
haijin

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

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


为我工作。谢谢
D
Diego dos Santos

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

/usr/bin/virtualenvwrapper.sh

在基于 Arch 的 Manjaro 上,它也位于 /usr/bin 而不是 /usr/local/bin 下。我不知道为什么。
t
tayfun

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

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


A
Aviendha

使用

find / -name virtualenvwrapper.sh

我得到了大量的“权限被拒绝”,以及文件位置的一个打印输出。我错过了它,直到我用 pip 再次卸载/安装它时找到该文件位置。

如果你很好奇,它在

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

要摆脱“权限被拒绝”,您可以将 STDERR 重定向到 /dev/null。例如: $ find / -name virtualenvwrapper.sh 2>/dev/null
I
Idan Magled

就我而言(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

希望它会帮助某人。


L
Lora Holmes
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

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


这也发生在我身上。 :(
ubuntu 20.04 也一样
s
svetkesh

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

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


j
jkdev

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

我的 virtualwrapper.sh 在

~/.local/bin/virtualenvwrapper.sh

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

pip install --user virtualenvwrapper

...作为使用 sudo piprisky practice 的替代方法。


u
user650654
/usr/local/bin/virtualenvwrapper.sh

No such file or directory 我还浏览了 /usr/local/bin 目录,找不到任何与 virtualenv 或 virtualenvwrapper 相关的内容
R
Robert

我在使用小猎犬骨黑(debian)时遇到了同样的问题。

手动下载软件包并安装对我有用。


a
abhinavDAIICT

对于 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


n
naveen.panwar

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

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

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

您可以检查您的 workon 命令是否正在运行,这将列出您现有的 virtualenv。


M
Miguel Ortiz

如果您以普通用户身份在不使用 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 上为我工作


Y
Yuanxu Xu

在我的情况下:/home/username/.local/bin/virtualenvwrapper.sh


b
bcye

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