为什么virtualenv在被拉入后依赖于全局python而不是本地python?
我拉(git)了一个python项目,它是(由我在另一台计算机上)使用virtualenv创建的。因此,python库实际上位于本项目的本地目录中(例如,为什么virtualenv在被拉入后依赖于全局python而不是本地python?,python,virtualenv,Python,Virtualenv,我拉(git)了一个python项目,它是(由我在另一台计算机上)使用virtualenv创建的。因此,python库实际上位于本项目的本地目录中(例如,fila_env/bin/python)。拉动后,我可以找到它(见下面的树)。但是,当我激活环境时(使用source fila_env/bin/activate),将使用此计算机上的python而不是virtualenv: (fila_env) username@ASCSC-645A:~/CODES/.../myProject$ which p
fila_env/bin/python
)。拉动后,我可以找到它(见下面的树)。但是,当我激活环境时(使用source fila_env/bin/activate
),将使用此计算机上的python而不是virtualenv:
(fila_env) username@ASCSC-645A:~/CODES/.../myProject$ which python
>>> /usr/bin/python
我在谷歌上搜索了一下,但找不到解决这个问题的好办法。我想知道:
├── yyyyyyExample.py
├── fila_env
│ ├── bin
│ │ ├── activate
│ │ ├── ...
│ │ ├── python
│ │ ├── python2 -> python
│ │ ├── python2.7 -> python
│ │ ├── python-config
│ │ ├── ...
│ │ └── wheel
│ ├── include
│ │ └── python2.7 -> /usr/include/python2.7
│ ├── lib
│ │ └── python2.7
│ ├── local
│ │ ├── bin -> .../fila_env/bin
│ │ ├── include -> .../fila_env/include
│ │ └── lib -> .../fila_env/lib
│ ├── pip-selfcheck.json
│ └── share
│ ├── jupyter
│ └── man
└── xxxxxxExample.py
另一种选择是:如果您有一个显式(C)Python依赖项,那么最好将其打包为Conda包。以另一种方式指定任何依赖项,或者只是尝试完全避免它们(您真的需要特定的Python版本吗?确切的版本是什么,为什么?)。如果您激活我们的本地环境,它将尝试从本地获取pip包,如果在本地环境中找不到包,它将从全局获取。您可以创建一个requirements.txt,其中包含所有pip包。每个克隆我们项目的人只需在本地服务器上进行pip安装environment@LavanyaPant所有这些软件包都是使用本地pip安装的。requirements.txt文件也在那里,但我只发布了一个摘要列表。@Azim我们应该避免将虚拟环境推送到git。如果有人想在本地安装它,他/她应该创建虚拟环境并安装您的包。作为替代方案:如果您有显式(C)Python依赖项,您最好将其打包为Conda包。我对问题的回答是“否”。以另一种方式指定任何依赖项,或者只是尝试完全避免它们(您真的需要特定的Python版本吗?确切的版本是什么,为什么?)。如果您激活我们的本地环境,它将尝试从本地获取pip包,如果在本地环境中找不到包,它将从全局获取。您可以创建一个requirements.txt,其中包含所有pip包。每个克隆我们项目的人只需在本地服务器上进行pip安装environment@LavanyaPant所有这些软件包都是使用本地pip安装的。requirements.txt文件也在那里,但我只发布了一个摘要列表。@Azim我们应该避免将虚拟环境推送到git。如果有人想在本地安装它,他/她应该创建虚拟环境并安装您的软件包。