【问题标题】:Where is virtualenvwrapper.sh after pip install?pip 安装后 virtualenvwrapper.sh 在哪里?
【发布时间】: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 的其他人有所帮助!

标签: python macos virtualenv pip virtualenvwrapper


【解决方案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 安装了它? 是我的错误。

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 2016-04-25
                                • 2019-05-19
                                • 1970-01-01
                                • 2015-07-10
                                • 1970-01-01
                                • 1970-01-01
                                • 2014-05-14
                                • 1970-01-01
                                相关资源
                                最近更新 更多