我正在尝试在 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 的人!
您可以使用 find
命令搜索文件:
find / -name virtualenvwrapper.sh
这将从根目录搜索文件的所有目录。
在 ubuntu 12.04 LTS 上,通过 pip 安装,它安装到
/usr/local/bin/virtualenvwrapper.sh
在 ubuntu 17.04 上,以普通用户身份通过 pip 安装,它被安装到
~/.local/bin/virtualenvwrapper.sh
你已经试过了吗?
$ which virtualenvwrapper.sh
which virtualenvwrapper
行不通?那不是环境变量中的命令名吗?
which
不起作用,这是因为 virtualenvwrapper 实际上是使用其自定义 bash 完成文件来添加纯虚拟命令,其中常见的 virtualenvwrapper
命令就是其中之一。因此,驱动器上没有可供 which
指向的物理文件。
virtualenvwrapper.sh
需要在任何命令(mkvirtualenv
、rmvirtualenv
等)可用之前在您的 shell 中获取,即 $ source /path/to/virtualenvwrapper.sh
find
快得多,但两者都有效。我的位于 OS X 上的 usr/local/bin
中。
virtualenvwrapper.sh 存储/定位的确切路径因操作系统而异。即使在相同的操作系统中,它也会因版本而异。所以我们需要一个适用于所有操作系统版本的通用解决方案。
我发现找到它的路径的最简单方法是:做
pip uninstall virtualenvwrapper
这将提示确认。说“否”但确认的第一行显示 virtualenvwrapper.sh 的路径(如果您说“是”,提示将提供它将删除的文件列表。此列表中的第一个条目包含您机器中 virtualenvwrapper.sh 的路径)
我刚刚用 pip 重新安装了它。
sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper
这次它把它放在/usr/local/bin 中。
which virtualenvwrapper.sh
工作,在我这样做之前它一直没有返回任何东西。
apt-get
安装它,它降落在 /usr/share/virtualenvwrapper/virtualenvwrapper.sh
中,然后清除它并完成了你的伎俩。
find / -name xxxx.sh
没有找到任何东西,这在 Ubuntu 14.04 中对我有用。
或者,像我一样..只需卸载 virtualenvwrapper
sudo pip 卸载 virtualenvwrapper
然后用 easy_install 安装
sudo easy_install virtualenvwrapper
这次我发现安装了文件“/usr/local/bin/virtualenvwrapper.sh”...在此之前,即使通过此命令,我也没有在任何地方找到该文件
查找 / -name virtualenvwrapper.sh
在 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
在 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
,您只需按照官方文档中的设置指南进行操作即可。祝你好运!
在 OS X 10.8.2 和 Python 2.7 中:
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
对我来说,它在:
~/Library/Python/2.7/bin/virtualenvwrapper.sh
(使用 OS X,安装 pip install --user
)
我也有同样的问题。如果您有旧版本的 virtualenvwrapper,那么 pip 将无法工作。
从 http://pypi.python.org/pypi/virtualenvwrapper/3.6 下载 src 并安装 python setup.py。然后问题就解决了。
对于基于 RPM 的发行版(如 Fedora 19),运行 sudo pip install virtualenvwrapper
命令后,您可以在以下位置找到该文件:
/usr/bin/virtualenvwrapper.sh
/usr/bin
而不是 /usr/local/bin
下。我不知道为什么。
使用普通用户在 Ubuntu 15.10 上使用 pip 安装它,它被放入我通过运行找到的 ~/.local/bin/virtualenvwrapper.sh
中:
$ find / -name virtualenvwrapper.sh 2>/dev/null
使用
find / -name virtualenvwrapper.sh
我得到了大量的“权限被拒绝”,以及文件位置的一个打印输出。我错过了它,直到我用 pip 再次卸载/安装它时找到该文件位置。
如果你很好奇,它在
/usr/local/share/python/virtualenvwrapper.sh
就我而言(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
希望它会帮助某人。
/usr/share/virtualenvwrapper/virtualenvwrapper.sh
我已经在 Ubuntu 16.04 上安装了它,它导致了这个位置。
我可以在使用 virtualenvwrapper-4.8.4 时在 macOS Mojave (10.14) 中找到一个
/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
虽然这是一个 OS X 问题,但这对我在 Linux(Red Hat)上有用。
我的 virtualwrapper.sh 在
~/.local/bin/virtualenvwrapper.sh
这可能是因为我使用 --user
标志在本地安装了 virtualenvwrapper ...
pip install --user virtualenvwrapper
...作为使用 sudo pip
的 risky practice 的替代方法。
/usr/local/bin/virtualenvwrapper.sh
No such file or directory
我还浏览了 /usr/local/bin 目录,找不到任何与 virtualenv 或 virtualenvwrapper 相关的内容
我在使用小猎犬骨黑(debian)时遇到了同样的问题。
手动下载软件包并安装对我有用。
对于 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
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。
如果您以普通用户身份在不使用 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 上为我工作
在我的情况下:/home/username/.local/bin/virtualenvwrapper.sh
您是否使用 sudo 安装了它?在我的情况下是错误的。
不定期副业成功案例分享
~/.local/bin/virtualenvwrapper.sh