我已经安装并一直在使用Anaconda Python发行版,我已经开始使用Anaconda(Conda)环境了.我可以使用标准conda install...
命令将包中的包放入我的环境中,但是要使用外部的任何东西(例如Flask-WTF,flask-sqlalchemy和alembic),我需要pip install
在活动环境中使用.但是,当我查看环境的内容时,无论是在目录中,还是使用conda list
这些pip install
ed包都没有显示出来.
使用pip freeze
并pip list
列出我曾经安装的每个包.
有没有一种方法来跟踪什么是在我的每一个巨蟒env
(能够对S pip
和conda
安装)?
requirements.txt
我正在尝试使用同事与我共享的文件来设置 conda 环境。我的同事在没有安装 Anaconda 的 Mac 上使用 Python,而我在安装了 Anaconda 的 Windows 机器上使用它。该文件requirements.txt
是使用命令生成的pip freeze
,如下所示:
absl-py==0.7.1
affine==2.3.0
agate==1.6.0
agate-dbf==0.2.0
agate-excel==0.2.1
agate-sql==0.5.2
...
Run Code Online (Sandbox Code Playgroud)
检查完这个问题的答案后,我在 Anaconda 终端中尝试了以下操作:
conda create --name my-env-name --file requirements.txt
Run Code Online (Sandbox Code Playgroud)
失败并显示以下错误消息:
PackagesNotFoundError: The following packages are not available from current channels:
- appscript==1.0.1
- style==1.1.0
- senticnet==1.3
- scikits.optimization==0.3
...
Run Code Online (Sandbox Code Playgroud)
我的理解是,发生这种情况是因为这些软件包在 Anaconda 软件包安装渠道中不可用,并且应该通过以下方式安装它们pip
激活我的 conda 环境来安装它们,使用pip install -r requirements.txt
问题是这个包列表非常长,我想避免手动检查和分离哪些包包含在 Anaconda 通道中以及哪些包应该通过pip
. 那么,有没有办法告诉 Anaconda 创建一个环境,自动识别其频道中包含的软件包,安装它们,然后使用安装其余的软件包pip
?
我正在使用Anaconda虚拟环境设置python项目。我正在生成requirements.txt,以便其他人可以轻松地为项目设置自己的虚拟环境。
我想知道,当其他开发人员想要为该项目做出贡献,但是想要使用virtualenv而不是Anaconda时,他们可以这样做吗?
我尝试了以下方法:
我在Anaconda环境中设置了一个空项目,并安装了aiohttp模块。然后conda list --export > requirements.txt
生成以下内容:
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: win-64
aiohttp=2.3.9=py36_0
async-timeout=2.0.0=py36hc3e01a3_0
certifi=2018.1.18=py36_0
chardet=3.0.4=py36h420ce6e_1
multidict=3.3.2=py36h72bac45_0
pip=9.0.1=py36h226ae91_4
python=3.6.4=h6538335_1
setuptools=38.4.0=py36_0
vc=14=h0510ff6_3
vs2015_runtime=14.0.25123=3
wheel=0.30.0=py36h6c3ec14_1
wincertstore=0.2=py36h7fe50ca_0
yarl=0.14.2=py36h27d1bf2_0
Run Code Online (Sandbox Code Playgroud)我在virtualenv环境中设置了一个空项目,并在那里也安装了aiohttp模块。pip freeze > requirements.txt
然后生成:
aiohttp==3.0.1
async-timeout==2.0.0
attrs==17.4.0
chardet==3.0.4
idna==2.6
idna-ssl==1.0.0
multidict==4.1.0
yarl==1.1.0
Run Code Online (Sandbox Code Playgroud)因此,显然两者的输出是不同的,我的理论是:一旦我在项目上使用conda生成了requirements.txt文件,其他开发人员便不能选择virtualenv了-至少如果他们不准备通过以下方式安装长清单要求(当然,不仅仅是aiohttp模块)。
乍看之下,将conda生成的requirements.txt导入virtualenv(pip install -r requirements-conda.txt
)上的项目会引发以下错误:
Invalid requirement: 'aiohttp=2.3.9=py36_0'
= is not a valid operator. Did you mean == …
Run Code Online (Sandbox Code Playgroud)