Python pipenv:如何强制virtualenv目录?
实际上,pipenv将使用如下路径安装virtualenv:Python pipenv:如何强制virtualenv目录?,python,pip,pipenv,Python,Pip,Pipenv,实际上,pipenv将使用如下路径安装virtualenv: $WORKON_HOME/<base_dir>-<hash> pipenv有一个函数,它可以从VIRTUAL\u ENV环境变量中找到virtualenv路径,但您需要手动创建virtualenv: virtualenv /home/user/myapp_venv VIRTUAL_ENV=/home/user/myapp_venv pipenv install 除了使用自定义位置外,还可以在项目目录中安装v
$WORKON_HOME/<base_dir>-<hash>
pipenv有一个函数,它可以从VIRTUAL\u ENV
环境变量中找到virtualenv路径,但您需要手动创建virtualenv:
virtualenv /home/user/myapp_venv
VIRTUAL_ENV=/home/user/myapp_venv pipenv install
除了使用自定义位置外,还可以在项目目录中安装virtualenv。只需在.bashrc/.zshrc文件中添加以下行:
export PIPENV\u VENV\u IN\u PROJECT=1
只是想让其他人知道还有另一种方法可用
您是否应该将VirtualNV保留在项目目录的内部或外部是一个自以为是的问题。在
pipenv
中有一个未记录的功能:如果您,pipenv
将使用该功能而不是自动生成的路径
然而,这。否则,将环境放置在任意位置最终很容易造成混乱
pipenv
专门让您从这项任务中解脱出来,将它们放在一个可预测的位置,并消除人为错误造成的意外碰撞。在windows中,Pycharm用户
它适用于我创建一个目录。项目中的venv然后尝试使用
pipenv启动安装
起初在mac中对我不起作用,它总是在其他地方创建虚拟环境。不过后来我想明白了原因。黑客首先是cd
到项目文件夹cd/Home/../MyProject
,然后创建一个空的Pipfiletouch Pipfile
创建目录mkdir.venv
应该可以工作。现在您可以运行pipenv安装
并使用.venv文件夹
现在从源代码中给出详细说明。当pipenv尝试创建虚拟环境时,它会查看目录dot\u venv=os.path.join(self.project\u directory,.venv”)
(取自源代码),这就是self.project\u目录的外观:
@property
def project_directory(self):
# type: () -> str
return os.path.abspath(os.path.join(self.pipfile_location, os.pardir))
因此,该函数将查找pipfile位置,以创建它将创建虚拟环境的路径。因此,如果您事先创建空的Pipfile
,则会确认它将找到该文件,然后找到.venv目录并一起创建路径。$virtualenv/home/user/myapp\u venv
?当然可以使用pipenv命令pipenv
不用于创建任意环境,这就是virtualenv
的用途。但是,您可以将已创建的环境与pipenv
一起使用,如答案所示。我想您的意思是文件夹而不是文件。。是的,它是有效的。@DAMAR225不,我指的是文件。其内容必须是环境目录的路径。如果您创建一个目录.venv
,它本身将用于一个环境。但是OP请求一个任意路径。如何在windows中执行此操作?@TonyS在windows下,创建一个同名的环境变量,即PIPENV\u VENV\u in_PROJECT
,并将其值设置为1。我没有测试过这个,因为我没有windows机器,但是这个应该可以工作。
@property
def project_directory(self):
# type: () -> str
return os.path.abspath(os.path.join(self.pipfile_location, os.pardir))