Python 使用特定、较旧的setuptools版本创建virtualenv

Python 使用特定、较旧的setuptools版本创建virtualenv,python,virtualenv,setuptools,Python,Virtualenv,Setuptools,我被要求支持一个带有旧式python版本(3.5)的项目,我正在努力创建一个virtualenv,因为最新的setuptools(>51)不再支持python==3.5。在安装软件包的过程中,它试图运行包含“future”语法的setuptools.setup函数时抛出语法错误。我正试图找到一种方法,以旧版本的setuptools作为默认设置创建一个virtualenv 我目前的解决方法是正常创建virtualenv,然后降级setuptools。这一功能目前还可以使用,但如果其他setupto

我被要求支持一个带有旧式python版本(3.5)的项目,我正在努力创建一个virtualenv,因为最新的setuptools(>51)不再支持python==3.5。在安装软件包的过程中,它试图运行包含“future”语法的
setuptools.setup
函数时抛出语法错误。我正试图找到一种方法,以旧版本的setuptools作为默认设置创建一个virtualenv

我目前的解决方法是正常创建virtualenv,然后降级setuptools。这一功能目前还可以使用,但如果其他setuptools模块更改语法,导致
pip install setuptools==old
无法运行,则可能随时中断

virtualenv -p python3 venv
source venv/bin/activate
pip install --upgrade setuptools==50.3.2 # This line could break in future
pip install my_project

我可以看到
virtualenv--extra search dir
选项(),但默认为它可以找到的最新版本,因为“virtualenv将在指定目录中查找控制盘,但将使用pip的标准算法选择要安装的控制盘”,因此,我将忽略我试图指出的旧setuptools版本。

hoefling对使用
python-m venv
的评论似乎是最好的解决方案,我可以从
apt
获得此软件包,这将始终为我提供一个与基本python版本兼容的版本。构建venv后,我可以升级到setuptools/pip的固定版本

apt update
apt install python3-venv python3-pip
python3 -m venv venv
source venv/bin/activate
pip install --upgrade setuptools==50.3.2 pip==20.3.3

python3.5-m-venv
?我还看到了
--no setuptools
标志,至少在20.0中是这样;您可以发布
virtualenv--python3.5--no-setuptools-venv;假设
setuptools
正确设置了
python\u版本,source venv/bin/activate
然后
pip install setuptools
将安装最新的受支持版本。谢谢@hoefling-您的原始评论效果很好。