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
需要在任何命令(mkvirtualenv
、rmvirtualenv
等)可用之前在您的 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 virtualenvwrapper
pip 将运行但不会将文件复制到所需位置,因为缺少权限。
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 时出现不支持的语言环境设置错误
树莓派3B+安装virtualenv和virtualenvwrapper