Python virtualenv和virtualenv-3.4之间的差异

Python virtualenv和virtualenv-3.4之间的差异,python,pip,virtualenv,homebrew,Python,Pip,Virtualenv,Homebrew,我已经使用自制软件安装了Python 3.5 brew安装python3 然后我使用sudopip3安装virtualenv 但是我在我的/usr/local/bin中看到了两个类似的文件,即virtualenv和virtualenv-3.4。当我使用virtualenv--version或virtualenv-3.4--version进行检查时,两者都给出了相同的virtualenv版本(13.1.2) 请告诉我这两个文件之间的区别以及在这种情况下使用哪一个文件。如果您安装了一个版本的virt

我已经使用自制软件安装了Python 3.5

brew安装python3

然后我使用
sudopip3安装virtualenv

但是我在我的
/usr/local/bin
中看到了两个类似的文件,即
virtualenv
virtualenv-3.4
。当我使用
virtualenv--version
virtualenv-3.4--version
进行检查时,两者都给出了相同的virtualenv版本(13.1.2)


请告诉我这两个文件之间的区别以及在这种情况下使用哪一个文件。

如果您安装了一个版本的
virtualenv
,那么这两个文件
virtualenv
virtualenv-3.4
将完全相同。您可以使用如下命令检查此问题

cmp --silent /usr/local/bin/virtualenv /usr/local/bin/virtualenv-3.4 && echo 'Same'
如果两个文件相同,将输出
'Same'


使用不同名称的原因是,您可以(如果愿意)在系统上互换使用多个版本的
virtualenv
。虽然
virtualenv
本身可以作为一种方便使用,并且要参考最新版本的
virtualenv

,您可能需要首先检查它们是否是链接,以及它们指向的文件。可能
virtualenv
只是指向
virtualenv-3.4
的符号链接,然后您的问题已经得到了回答。它们不是链接。
/usr/local/bin
中的
ls-l
输出:
-rwxr-xr-x1 root admin 232 Sep 27 23:16 virtualenv
-rwxr-xr-x1 root admin 232 Sep 27 23:16 virtualenv-3.4
下一步是打印shebang:
头-1/usr/local/bin/virtualenv
。这将为您提供在执行此特定文件时调用的python版本。在
virtualenv
virtualenv-3.4
上运行命令将提供相同的输出:
#/usr/local/opt/python3/bin/python3.5
普通的
virtualenv
可执行文件是为了方便您。如果您有多个版本,例如
virtualenv-3.5
virtualenv-3.4
一个简单的
vir
就足以完成
virtualenv
。您不必显式地键入版本标识符。