我正试图在Mac OS X El Capitan上使用virtualenv
创建一个虚拟环境。我已经用brew
安装了Python 2.7.11,默认情况下包括pip
、wheel
和setuptools
。
然而,当我尝试安装虚拟环境
以下说明在留档或从任何其他资源,我得到几个问题:
pip
完成其工作后,virtualenv
可执行文件未放置在/usr/local/bin
中,因此我需要手动ln-s
它(这可能表明此步骤的安装有问题)
virtualenv venv
后,它会创建新的环境,从brew
-安装中捕获Python 2.7.11,但是:bin
文件夹中没有pip
。这意味着,如果我尝试哪个pip
,激活venv
,它将返回pip
-/usr/local/bin/pip
,而不是/path/to/venv/bin/pip
因此,在venv
内部安装软件包使用全局pip
,并将它们安装到全局站点软件包中,而不是安装在
venv
内部,这与环境应该做的恰恰相反。
你能建议什么可能是错误的以及如何解决它吗?
编辑:值得一提的是,我曾经在我的计算机上安装过其他版本的Python,我最近删除了它,正如在这个回答中所描述的那样。可能是它导致了问题,需要进行更彻底的清洁。
我在运行虚拟环境时遇到了这个问题:“重要错误:没有名为pip的模块。”我的解决方案是降级虚拟环境。我有16.2.0。
匿名用户
pip
完成其工作后,virtualenv
可执行文件未放置在/usr/local/bin
中,因此我需要手动ln-s
它(这可能表明此步骤的安装有问题)
不要那样做。这只会隐藏错误,而不会解决问题。以下是如何调试此类问题的简短指南:
>
接下来,检查哪个-a pip
。同样,第一条路径应该是/usr/local/bin/pip
。如果没有,请运行python-m ensurepip并重新检查。
现在使用pip install virtualenv
安装virtualenv
,然后检查which-a virtualenv
的输出。第一个路径应该是/usr/local/bin/virtualenv
,如果不是,请检查env | grep PYTHON
的输出是否有意外的环境变量。
最后检查virtualenv--version
的输出,确保您拥有最新版本。
尝试删除或重命名主目录中的.pydistutils.cfg文件,例如用mv~/重命名。pydistutils.cfg~/oldpydistutils.cfg
为了帮助其他人,我在这里给出了一个详细的答案,但最初的功劳归于这个答案。如果您知道.pydistutils.cfg中的具体原因,请告诉我!
我也遇到了同样的问题:我的虚拟环境是在没有pip本地副本的情况下创建的,尽管它们有python的本地副本。这意味着从安装到全局包位置的虚拟环境中使用$pip
,并且对环境的python不可见。
我是如何在我的机器上诊断的:
$virtualenv env
$source env/bin/activate
/Users运行(env)$whichpython
/
要检查软件包的去向,我们可以尝试在虚拟环境中安装软件包:
仔细检查,我们发现环境的/bin文件夹中没有Pip:
$ls env/bin激活activate.fishpython python2activate.cshactivate_this.pypython-config python2.7
因此,当系统找到本地python版本时,它无法找到本地pip来使用并遍历$PATH。它最终使用了/usr/local/bin中的pip,使我无法在虚拟环境中本地安装软件包。
以下是我尝试的:-重新安装python
brew卸载python
,然后进行brew升级
和brew安装python——从源代码构建
-使用get-pip.py命令安装pip,如pip文档中所述
以下是我排除的情况:-我没有使用
sudo-pip…
,这在另一个问题中导致了类似的问题,并且在这个Python/pip安装上任何时候都没有这样做-我的虚拟环境没有显示pip的本地安装,就像在这些类似的问题中一样:这是针对Windows的,这是针对Mac-OS-X的。
最终,我发现删除
~/.pydistutils.cfg
文件解决了这个问题,允许有自己本地pip的新虚拟环境。我的~/.pydistutils.cfg
文件的内容是:
[global]
verbose=1
[install]
install-scripts=$HOME/bin
[easy_install]
install-scripts=$HOME/bin
简单地重命名
~/。pydistutils.cfg
文件似乎可以解决这个问题:虽然这个文件是由家庭下载安装创建的,但是这个文件中的一些设置可能与虚拟环境不兼容。虽然删除此文件对我的系统没有任何不良影响,但在将带有pip的包安装到全局环境时,您可能需要使用--user
标志(例如$pip安装--user HTTPServer
)。这里有更多的细节。pydistutils.cfg如果你想根据你的需求定制它。
我有最新的PyCharm CE,并且正在将其与一起使用。我已经将解释器定义为中的解释器。PyCharm中的项目解释器窗口列出了我安装的所有软件包。我通过运行
HTML不支持在HTML页面中嵌入HTML页面。 要实现此功能,我们可以使用以下选项之一 - Using Ajax - 进行服务器调用以获取相应的HTML页面并将其设置在HTML控件的innerHTML中。 Using Server Side Includes - JSP,PHP和其他Web端服务器技术可以在动态页面中包含HTML页面。 使用AngularJS,我们可以使用ng-include指令
当node_module库导入索引文件时,webpack为什么不在构建中包含这些库? webpack对我来说仍然是一种黑色的艺术,我还没有完全掌握,所以下面是我试图实现的一个解释。 我正在构建一个测试应用程序,以在AWS Lambda节点服务器上作为无服务器代码运行。目标是通过在服务器上有一个或多个块并且没有node_modules文件夹,使部署包尽可能小。 我正在用TypescriptV3编写文
我一直在寻找在中包含FXML和图像的适当方法,以便将它们构建到JAR中。我看过这里,试过它,但它仍然不起作用。 抛出此错误: 以下是(Github): 下面是gui.java(Github): stacktrace表示导致了错误 在外面的树,他们都不在,我已经摆弄了几个小时,试图解决这个问题。如有任何帮助,将不胜感激。 如果需要更多信息,这里还有Github存储库
使用在中安装软件包会导致软件包安装在全局站点软件包文件夹中,而不是安装在virtualenv文件夹中。下面是我如何在OS X Mavericks(10.9.1)上设置Python3和virtualenv的: 我使用自制软件安装了Python3: 更改了中的变量;添加了以下行: 运行python3返回(重启shell后)。 注意:仍然返回/usr/bin/python。 使用安装的: 接下来,创建一
我有这个BST的问题,我想在Java解决,但我不知道为什么它不起作用。问题就在这里: > 二叉搜索树(BST)是一种二叉树,其中每个节点的值大于或等于该节点左子树中所有节点的值,而小于该节点右子树中所有节点的值。 编写一个函数,检查给定的二叉搜索树是否包含给定的值。 例如,对于以下树: n1(值:1,left:null,right:null)n2(值:2,left:n1,right:n3)n3(值