我试图找出无法找到使用virtualenv
使用virtualenv
安装的pip
和/或homebrew
包装器的原因。我认为这是因为它没有添加到我的路径中:
$ which virtualenv
$
和
$ virtualenv someDir
$ -bash: virtualenv: command not found
我使用homebrew
和virtualenv
使用pip
安装了pip,没有任何问题。我尝试重新安装virtualenv
,但这也不起作用。
我如何知道要添加到PATH
的路径?只是virtualenv.py
似乎安装的路径?这似乎是:
/usr/local/lib/python2.7/site-packages/virtualenv.py
我还找到了this guide,这表明了这一点:
$ ln -s ../Cellar/python/2.7/Frameworks/Python.framework/Versions/2.7/bin/virtualenv virtualenv
但是,它无法帮我运行virtualenv
。我在Mac OSX 10.7.5(Lion)上。
答案 0 :(得分:15)
似乎我自己是几乎所有“简单”安装程序的规则的例外。出于某种原因,它与路径有关:
我跑了brew info python
,输出了很多信息。在底部,我发现了这个:
Executable python scripts will be put in:
/usr/local/share/python
so you may want to put "/usr/local/share/python" in your PATH, too.
我在/etc/launchd.conf
和~/.bashrc
中将其添加到我的PATH中并且看到了:
$ which virtualenv
告诉我:
"/usr/local/share/python/virtualenv"
我仍然不知道为什么我无法在任何地方找到正确方向的指示?是pip install virtualenv
应该添加到PATH本身吗?如果是这样,为什么不在我的系统上?为什么@bibhas明确告诉我这不是路径问题?
答案 1 :(得分:7)
在pip install virtualenv
当我检查python ls -la /usr/local/bin/python
时,我发现它与/Library/Frameworks/Python.framework/Versions/2.7/bin/python
符号链接
当我在该目录中cd时,我还发现了virtualenv可执行文件和
通过
修正了它cd /Library/Frameworks/Python.framework/Versions/2.7/bin
ln virtualenv /usr/local/bin/virtualenv
旁注:我也碰巧在/System/Library/Frameworks/Python.framework/Versions/2.7/bin
我相信这是OSX附带的那个
答案 2 :(得分:2)
在你的.bashrc中你需要:
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
答案 3 :(得分:1)
我通过以下方式解决了: 首先找到它位于/ usr / local / python3 然后我通过命令修复它: 在virtualenv / usr / local / bin / virtualenv
答案 4 :(得分:0)
此解决方案将为您提供另一种工具,可以同时使用和解决您的virtualenv
问题。
使用pythonbrew。它的灵感来自于红宝石世界中的rvm
,有助于管理系统中的pythons,还可以包装virtualenv
命令来提供虚拟环境管理。我使用Mountain Lion进行开发,没有任何问题。更多详情(在我的博客上):http://stacktoheap.com/blog/2013/03/11/why-use-virtualenv-when-there-is-pythonbrew/
答案 5 :(得分:0)
我的想法是将你的virtualenv位置添加到BASH PATH
export PATH=$PATH:/usr/local/python2.7/bin
或者改变你的立场
答案 6 :(得分:0)
对于那些使用Python 2.7的人,我也遇到了这个问题,并通过简单地将以下行放入import socket, ssl
context = ssl.SSLContext()
context.verify_mode = ssl.CERT_REQUIRED
context.check_hostname = True
context.load_default_certs()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = context.wrap_socket(s, server_hostname='www.verisign.com')
ssl_sock.connect(('www.verisign.com', 443))
文件(可能需要首先\etc\paths
)来解决了这个问题:
$ sudo chmod
保存更改并开始新的终端会话。使用/Library/Frameworks/Python.framework/Versions/2.7/bin
答案 7 :(得分:0)
(Mac / Linux专用) 因此,当我执行pip3安装--user --upgrade virtualenv时,我收到一条错误消息,告诉我PATH中没有Users / home / Library / Python / 3.7 / bin。所以我只是添加了它。
如果是在Mac上,则以下是对我有用的
vi〜/ .bash_profile
PATH =“ / Users / home / Library / Python / 3.7 / bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:$ {PATH}”
重新启动终端,然后输入virtualenv env,这应该可以完成。
答案 8 :(得分:-1)
/usr/local/lib/python2.7/site-packages
中的模块由一个使用pkg_resources.load_entry_point
来运行应用程序的简短脚本导入。实用程序脚本应位于/usr/local/bin
。