如何检查 conda development 是不是安装了我的项目/包?
Posted
技术标签:
【中文标题】如何检查 conda development 是不是安装了我的项目/包?【英文标题】:How does one check if conda develop installed my project/packages?如何检查 conda development 是否安装了我的项目/包? 【发布时间】:2020-05-11 04:48:23 【问题描述】:如何查看我在开发模式下安装的软件包?
我尝试了conda list
,但没有显示任何熟悉的内容。
我跑了conda develop .
,它似乎安装了它:
(automl-meta-learning) brandomiranda~/automl-meta-learning/automl ❯ conda develop .
path exists, skipping /Users/brandomiranda/automl-meta-learning/automl
completed operation for: /Users/brandomiranda/automl-meta-learning/automl
但是,我在运行脚本时遇到错误:
(automl-meta-learning) brandomiranda~/automl-meta-learning/automl/automl/meta_optimizers ❯ python differentiable_SGD.py
Traceback (most recent call last):
File "differentiable_SGD.py", line 8, in <module>
from automl.utils.torch_utils import helloworld
ModuleNotFoundError: No module named 'automl.utils'
但是当我执行 conda list 时,我看不到任何我认识的东西:
(automl-meta-learning) brandomiranda~/automl-meta-learning/automl/automl/meta_optimizers ❯ conda list
# packages in environment at /Users/brandomiranda/miniconda3/envs/automl-meta-learning:
#
# Name Version Build Channel
appnope 0.1.0 py37_0
asn1crypto 1.3.0 py37_0
astroid 2.3.3 py37_0
attrs 19.3.0 py_0
backcall 0.1.0 py37_0
beautifulsoup4 4.8.2 py37_0
blas 1.0 mkl
bleach 3.1.0 py37_0
bzip2 1.0.8 h1de35cc_0
ca-certificates 2019.11.27 0
certifi 2019.11.28 py37_0
cffi 1.13.2 py37hb5b8e2f_0
chardet 3.0.4 py37_1003
conda 4.8.1 py37_0
conda-build 3.18.11 py37_0
conda-package-handling 1.6.0 py37h1de35cc_0
cryptography 2.8 py37ha12b0ac_0
cycler 0.10.0 py37_0
dbus 1.13.12 h90a0687_0
decorator 4.4.1 py_0
defusedxml 0.6.0 py_0
entrypoints 0.3 py37_0
expat 2.2.6 h0a44026_0
filelock 3.0.12 py_0
freetype 2.9.1 hb4e5f40_0
gettext 0.19.8.1 h15daf44_3
glib 2.63.1 hd977a24_0
glob2 0.7 py_0
icu 58.2 h4b95b61_1
idna 2.8 py37_0
importlib_metadata 1.3.0 py37_0
intel-openmp 2019.4 233
ipykernel 5.1.3 py37h39e3cac_1
ipython 7.11.1 py37h39e3cac_0
ipython_genutils 0.2.0 py37_0
ipywidgets 7.5.1 py_0
isort 4.3.21 py37_0
jedi 0.15.2 py37_0
jinja2 2.10.3 py_0
jpeg 9b he5867d9_2
jsonschema 3.2.0 py37_0
jupyter 1.0.0 py37_7
jupyter_client 5.3.4 py37_0
jupyter_console 6.0.0 py37_0
jupyter_core 4.6.1 py37_0
kiwisolver 1.1.0 py37h0a44026_0
lazy-object-proxy 1.4.3 py37h1de35cc_0
libarchive 3.3.3 h786848e_5
libcxx 4.0.1 hcfea43d_1
libcxxabi 4.0.1 hcfea43d_1
libedit 3.1.20181209 hb402a30_0
libffi 3.2.1 h475c297_4
libgfortran 3.0.1 h93005f0_2
libiconv 1.15 hdd342a3_7
liblief 0.9.0 h2a1bed3_2
libpng 1.6.37 ha441bb4_0
libsodium 1.0.16 h3efe00b_0
libtiff 4.1.0 hcb84e12_0
libxml2 2.9.9 hf6e021a_1
lz4-c 1.8.1.2 h1de35cc_0
lzo 2.10 h362108e_2
markupsafe 1.1.1 py37h1de35cc_0
matplotlib 3.1.1 py37h54f8f79_0
mccabe 0.6.1 py37_1
mistune 0.8.4 py37h1de35cc_0
mkl 2019.4 233
mkl-service 2.3.0 py37hfbe908c_0
mkl_fft 1.0.15 py37h5e564d8_0
mkl_random 1.1.0 py37ha771720_0
more-itertools 8.0.2 py_0
nbconvert 5.6.1 py37_0
nbformat 4.4.0 py37_0
ncurses 6.1 h0a44026_1
ninja 1.9.0 py37h04f5b5a_0
notebook 6.0.2 py37_0
numpy 1.18.1 py37h7241aed_0
numpy-base 1.18.1 py37h6575580_0
olefile 0.46 py37_0
openssl 1.1.1d h1de35cc_3
pandoc 2.2.3.2 0
pandocfilters 1.4.2 py37_1
parso 0.5.2 py_0
pcre 8.43 h0a44026_0
pexpect 4.7.0 py37_0
pickleshare 0.7.5 py37_0
pillow 7.0.0 py37h4655f20_0
pip 19.3.1 py37_0
pkginfo 1.5.0.1 py37_0
prometheus_client 0.7.1 py_0
prompt_toolkit 2.0.10 py_0
psutil 5.6.7 py37h1de35cc_0
ptyprocess 0.6.0 py37_0
py-lief 0.9.0 py37h1413db1_2
pycosat 0.6.3 py37h1de35cc_0
pycparser 2.19 py37_0
pygments 2.5.2 py_0
pylint 2.4.4 py37_0
pyopenssl 19.1.0 py37_0
pyparsing 2.4.6 py_0
pyqt 5.9.2 py37h655552a_2
pyrsistent 0.15.6 py37h1de35cc_0
pysocks 1.7.1 py37_0
python 3.7.6 h359304d_2
python-dateutil 2.8.1 py_0
python-graphviz 0.13.2 pypi_0 pypi
python-libarchive-c 2.8 py37_13
pytorch 1.4.0 py3.7_0 pytorch
pytz 2019.3 py_0
pyyaml 5.2 py37h1de35cc_0
pyzmq 18.1.0 py37h0a44026_0
qt 5.9.7 h468cd18_1
qtconsole 4.6.0 py_1
readline 7.0 h1de35cc_5
requests 2.22.0 py37_1
ripgrep 11.0.2 he32d670_0
ruamel_yaml 0.15.87 py37h1de35cc_0
send2trash 1.5.0 py37_0
setuptools 44.0.0 py37_0
sip 4.19.8 py37h0a44026_0
six 1.13.0 py37_0
soupsieve 1.9.5 py37_0
sqlite 3.30.1 ha441bb4_0
terminado 0.8.3 py37_0
testpath 0.4.4 py_0
tk 8.6.8 ha441bb4_0
torchvision 0.5.0 py37_cpu pytorch
torchviz 0.0.1 pypi_0 pypi
tornado 6.0.3 py37h1de35cc_0
tqdm 4.41.1 py_0
traitlets 4.3.3 py37_0
urllib3 1.25.7 py37_0
wcwidth 0.1.7 py37_0
webencodings 0.5.1 py37_1
wheel 0.33.6 py37_0
widgetsnbextension 3.5.1 py37_0
wrapt 1.11.2 py37h1de35cc_0
xz 5.2.4 h1de35cc_4
yaml 0.1.7 hc338f04_2
zeromq 4.3.1 h0a44026_3
zipp 0.6.0 py_0
zlib 1.2.11 h1de35cc_3
zstd 1.3.7 h5bba6e5_0
任何人都知道发生了什么,或者至少我在开发模式下安装的软件包会出现在哪里?
请注意,我的脚本在使用conda develop -u .
安装和卸载后现在可以工作,但我仍然不知道如何显示开发模式下的包/项目是否已安装。
【问题讨论】:
我已经尝试了这个建议,但它不起作用。我康达开发。我的包,然后当我运行 python 解释器并尝试导入它时,导入失败。为什么?这里几乎相同的问题:***.com/questions/61467310/… 顺便说一句,如果您想卸载使用 conda develop 安装的内容,请执行conda develop -u .
或 conda develop -u <path>
【参考方案1】:
如果您在运行conda develop .
(setup.py
文件所在的位置)后仔细查看,您会注意到该命令输出以下内容:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop .
added /Users/brandBrandoParetoopareto/ultimate-utils/uutils
completed operation for: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
如果您随后检查sys.path
python,那么您可以添加新路径:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ python
Python 3.7.7 (default, Mar 26 2020, 10:32:53)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for p in sys.path:
... print(p)
...
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python37.zip
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python3.7
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python3.7/lib-dynload
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python3.7/site-packages
/Users/brandBrandoParetoopareto/automl-meta-learning/automl
/Users/brandBrandoParetoopareto/higher
/Users/brandBrandoParetoopareto/ultimate-utils/uutils
您可以通过删除它并打印sys.path
的内容来确认这一点:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop -u .
uninstalled: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
再次检查系统路径:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ python
Python 3.7.7 (default, Mar 26 2020, 10:32:53)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for p in sys.path:
... print(p)
...
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python37.zip
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python3.7
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python3.7/lib-dynload
/Users/brandBrandoParetoopareto/anaconda3/envs/automl/lib/python3.7/site-packages
/Users/brandBrandoParetoopareto/automl-meta-learning/automl
/Users/brandBrandoParetoopareto/higher
现在没了!
另外,请注意 conda 或 python(不确定哪个)也总是添加当前路径。需要注意这一点很重要,因为当我在 repo 之外导入测试时,我正在工作,但它在 repo 内部似乎非常神秘,我只能归因于此。
附录
要从终端检查 python sys.path,使用 python cmd 将该命令作为字符串运行:
python -c "import sys; print(sys.path)"
更好:
python -c "import sys; [print(p) for p in sys.path]"
如果你想要一个别名:
alias pypath='python -c "import sys; [print(p) for p in sys.path]"'
把它放在你的.zshrc
。
旧答案
老实说,我知道的唯一方法就是尝试再次安装它。它通常说它已经存在:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop .
path exists, skipping /Users/brandBrandoParetoopareto/ultimate-utils/uutils
completed operation for: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
如果它说它已经存在但您的脚本仍然无法运行,请尝试安装和卸载:
conda develop -u .
输出应该是这样的:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop -u .
uninstalled: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
然后再次尝试以开发/开发/开发者模式安装它:
conda develop .
输出看起来像这样:
(automl) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop -u .
uninstalled: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
在哪里。可以替换为项目根目录的路径(对我来说,它是 setup.py 所在的位置)。
注意:
另一个测试是尝试卸载它两次。第二次它应该抱怨:
(importtest) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop -u .
uninstalled: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
(importtest) brandBrandoParetoopareto~/ultimate-utils/uutils $ conda develop -u .
conda.pth does not contain path: /Users/brandBrandoParetoopareto/ultimate-utils/uutils
package not installed via conda develop
仅供参考:如何在 pip 可编辑模式下卸载:How to uninstall editable packages with pip (installed with -e)
【讨论】:
以上是关于如何检查 conda development 是不是安装了我的项目/包?的主要内容,如果未能解决你的问题,请参考以下文章
查询 Google Play Developer API 时出现意外错误。请检查您是不是使用了正确的服务帐号