pipenv :如何强制 virtualenv 目录?
pipenv : how to force virtualenv directory?
实际上,pipenv 将使用如下路径安装 virtualenv :
$WORKON_HOME/<base_dir>-<hash>
是否有可能完全是我想要的路径,即没有 base_dir
和 hash
,例如:
/home/user/myapp_venv
有一个undocumented feature的pipenv,它可以从VIRTUAL_ENV
环境变量中找到virtualenv路径,但是你需要手动创建virtualenv:
virtualenv /home/user/myapp_venv
VIRTUAL_ENV=/home/user/myapp_venv pipenv install
除了使用自定义位置外,您还可以在项目目录中安装 virtualenv。只需在 .bashrc/.zshrc 文件中添加以下行:
export PIPENV_VENV_IN_PROJECT=1
只是想让其他人知道还有另一种方法可用。
你应该将 virtualenv 保留在项目目录的内部还是外部是一个自以为是的问题。
pipenv
中有一个未记录的功能:如果您 create a file named .venv
in the project root with a path in it,pipenv
将使用它而不是自动生成的路径。
然而,is more fit for cases when you already have an established set of environments that you wish to reuse。否则,将环境放置在任意位置最终很容易造成混乱。 pipenv
将您从这项任务中解放出来,专门将它们放在一个可预测的位置,并消除人为错误造成的意外碰撞。
在 windows 中,Pycharm 用户来自
将 .venv 折叠到项目中
设置->项目->项目解释器->pipenv环境
对我有用
在项目中创建目录 .venv 然后尝试使用 pipenv install <some package>
启动在我的 mac 中一开始对我不起作用,它总是在其他地方创建虚拟环境。虽然后来我弄清楚了原因。黑客是,首先 cd
到项目文件夹 cd /Home/.../MyProject
然后创建一个空的 Pipfile touch Pipfile
创建一个目录 mkdir .venv
应该工作。现在您可以 运行 pipenv install
并且将使用 .venv 文件夹。
现在详细说明来自来源code。当 pipenv 尝试创建一个虚拟环境时,它会查看目录 dot_venv = os.path.join(self.project_directory, ".venv")
(取自源代码),这就是 self.project_directory
的样子:
@property
def project_directory(self):
# type: () -> str
return os.path.abspath(os.path.join(self.pipfile_location, os.pardir))
因此该函数查找 pipfile 位置以创建将创建虚拟环境的路径。因此,如果您事先创建空 Pipfile
,则确认它会找到该文件,然后找到 .venv 目录并一起创建路径。
实际上,pipenv 将使用如下路径安装 virtualenv :
$WORKON_HOME/<base_dir>-<hash>
是否有可能完全是我想要的路径,即没有 base_dir
和 hash
,例如:
/home/user/myapp_venv
有一个undocumented feature的pipenv,它可以从VIRTUAL_ENV
环境变量中找到virtualenv路径,但是你需要手动创建virtualenv:
virtualenv /home/user/myapp_venv
VIRTUAL_ENV=/home/user/myapp_venv pipenv install
除了使用自定义位置外,您还可以在项目目录中安装 virtualenv。只需在 .bashrc/.zshrc 文件中添加以下行:
export PIPENV_VENV_IN_PROJECT=1
只是想让其他人知道还有另一种方法可用。
你应该将 virtualenv 保留在项目目录的内部还是外部是一个自以为是的问题。
pipenv
中有一个未记录的功能:如果您 create a file named .venv
in the project root with a path in it,pipenv
将使用它而不是自动生成的路径。
然而,is more fit for cases when you already have an established set of environments that you wish to reuse。否则,将环境放置在任意位置最终很容易造成混乱。 pipenv
将您从这项任务中解放出来,专门将它们放在一个可预测的位置,并消除人为错误造成的意外碰撞。
在 windows 中,Pycharm 用户来自
将 .venv 折叠到项目中
设置->项目->项目解释器->pipenv环境
对我有用
在项目中创建目录 .venv 然后尝试使用 pipenv install <some package>
启动在我的 mac 中一开始对我不起作用,它总是在其他地方创建虚拟环境。虽然后来我弄清楚了原因。黑客是,首先 cd
到项目文件夹 cd /Home/.../MyProject
然后创建一个空的 Pipfile touch Pipfile
创建一个目录 mkdir .venv
应该工作。现在您可以 运行 pipenv install
并且将使用 .venv 文件夹。
现在详细说明来自来源code。当 pipenv 尝试创建一个虚拟环境时,它会查看目录 dot_venv = os.path.join(self.project_directory, ".venv")
(取自源代码),这就是 self.project_directory
的样子:
@property
def project_directory(self):
# type: () -> str
return os.path.abspath(os.path.join(self.pipfile_location, os.pardir))
因此该函数查找 pipfile 位置以创建将创建虚拟环境的路径。因此,如果您事先创建空 Pipfile
,则确认它会找到该文件,然后找到 .venv 目录并一起创建路径。