访问从全局到虚拟环境的 anaconda 模块



我已经按照 anaconda 文档上的说明成功地将 Anaconda 发行版安装到 Python 3.7 的默认路径(包括 pandas)上。 在加载在 Anaconda 安装期间自动创建的基本环境后,熊猫导入成功运行:

~$ conda activate   
(base): ~$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
>>> import pandas as pd
>>> 

我有一个现有的虚拟环境py37-venv我想在其中使用 Pandas:

(base) ~/myproject$ source py37-venv/bin/activate
(py37-venv) (base) ~/myproject$ python
Python 3.7.3 (default, Jul  4 2019, 11:23:49) 
[GCC 5.4.0 20160609] on linux
>>> import pandas as pd
ModuleNotFoundError: No module named 'pandas'

如何在我的虚拟环境中使用 Pandas(和其他 Anaconda 软件包)。我需要在我的虚拟环境中再次安装 Anaconda 吗?

遵循类似帖子的建议无济于事。 例如:

创建一个 Anaconda env
  1. :但是在安装 Anaconda 之前,我的 env 已经存在了。

  2. 设置export PATH="/myrootpath/anaconda3/etc/profile.d/conda.sh:$PATH"但得到相同的结果。

  3. 复制:/myrootpath/anaconda3/pkgs/pandas-0.24.2-py37he6710b0_0myproject/py37-venv/lib/python3.7/site-packages/pandas-0.24.2-py37he6710b0_0

如果你的项目除了 Anaconda 中已经包含的内容之外没有任何依赖项,我想你可以在不激活 virtualenv 环境的情况下运行你的代码。

除此之外,最简单的方法是创建一个新的 conda 环境并将项目的依赖项安装到新创建的 env 中。

Anaconda 不仅仅是一个软件包的集合,它还带有一个名为conda.

您可以使用 conda 创建一个新环境,如下所示conda create -n <env_name> python=3.7然后使用conda activate <env_name>激活新的 env,并使用conda install <package>安装您需要的任何软件包(注意:这会将软件包安装到当前活动的 env 中,这意味着如果您没有激活另一个 env,它会将其安装到根 env)

作为旁注:您不必使用 conda 在 conda env 中安装软件包,pip 也可以正常工作。因此,如果您的项目有一个requirements.txt(或类似的东西),您可以在 conda 环境中运行pip install -r requirements.txt

最新更新