我有一个python项目,其中包含一系列模块和目录
它作为CLI运行,现在我希望其他用户能够在其系统上运行它
我使用以下方式导出了我的conda环境:
conda env export --file environment.yml
它看起来像这样:
name: ds
channels:
- conda-forge
- defaults
dependencies:
- _pytorch_select=0.1=cpu_0
- appnope=0.1.0=py37hc8dfbb8_1001
- attrs=19.3.0=py_0
- backcall=0.1.0=py_0
- blas=1.0=mkl
- bleach=3.1.4=pyh9f0ad1d_0
- bzip2=1.0.8=h0b31af3_2
- ca-certificates=2020.6.20=hecda079_0
- cairo=1.16.0=hec6a9b0_1003
- certifi=2020.6.20=py37hc8dfbb8_0
- cffi=1.14.0=py37h356ff06_0
- chardet=3.0.4=py37hc8dfbb8_1006
- click=7.1.2=pyh9f0ad1d_0
- curl=7.69.1=h2d98d24_0
- cycler=0.10.0=py_2
- dbus=1.13.6=h2f22bb5_0
- decorator=4.4.2=py_0
- defusedxml=0.6.0=py_0
- entrypoints=0.3=py37hc8dfbb8_1001
- et_xmlfile=1.0.1=py_1001
- expat=2.2.9=h4a8c4bd_2
- ffmpeg=4.2=h5c2b479_0
- fontconfig=2.13.1=h6b1039f_1001
- freetype=2.10.1=h8da9a1a_0
- gettext=0.19.8.1=h46ab8bc_1002
- ghostscript=9.22=h0a44026_1001
- giflib=5.2.1=h0b31af3_2
- glib=2.64.2=h577aef8_0
- gmp=6.2.0=h4a8c4bd_2
- gnutls=3.6.5=h53004b3_1002
- graphite2=1.3.13=h12caacf_1001
- harfbuzz=2.4.0=hd8d2a14_3
- hdf5=1.10.6=nompi_h3e39495_100
- icu=64.2=h6de7cb9_1
- importlib-metadata=1.6.0=py37hc8dfbb8_0
- importlib_metadata=1.6.0=0
- ipykernel=5.2.1=py37h43977f1_0
- ipython=7.13.0=py37hc8dfbb8_2
- ipython_genutils=0.2.0=py_1
- ipywidgets=7.5.1=py_0
- jasper=1.900.1=h636a363_1006
- jdcal=1.4.1=py_0
- jedi=0.17.0=py37hc8dfbb8_0
- jinja2=2.11.2=pyh9f0ad1d_0
- joblib=0.14.1=py_0
- jpeg=9c=h1de35cc_1001
- jsonschema=3.2.0=py37hc8dfbb8_1
- jupyter=1.0.0=py_2
- jupyter_client=6.1.3=py_0
- jupyter_console=6.1.0=py_1
- jupyter_core=4.6.3=py37hc8dfbb8_1
- kiwisolver=1.2.0=py37ha1cc60f_0
- krb5=1.17.1=h1752a42_0
- lame=3.100=h1de35cc_1001
- libblas=3.8.0=14_mkl
- libcblas=3.8.0=14_mkl
- libclang=9.0.1=default_hf57f61e_0
- libcurl=7.69.1=hc0b9707_0
- libcxx=9.0.1=1
- libedit=3.1.20170329=hcfe32e1_1001
- libffi=3.2.1=h4a8c4bd_1007
- libgfortran=4.0.0=2
- libiconv=1.15=h0b31af3_1006
- liblapack=3.8.0=14_mkl
- liblapacke=3.8.0=14_mkl
- libllvm9=9.0.1=h7475705_1
- libopencv=4.2.0=py37_6
- libpng=1.6.37=hbbe82c9_1
- libpq=12.2=h489d428_1
- libsodium=1.0.17=h01d97ff_0
- libssh2=1.8.2=hcdc9a53_2
- libtiff=4.1.0=ha78913b_3
- libwebp=1.0.2=hd3bf737_5
- libxml2=2.9.10=h53d96d6_0
- libxslt=1.1.33=h320ff13_0
- llvm-openmp=10.0.0=h28b9765_0
- lxml=4.5.1=py37heb1707f_0
- lz4-c=1.9.2=h4a8c4bd_0
- markupsafe=1.1.1=py37h9bfed18_1
- matplotlib-base=3.2.1=py37hddda452_0
- mistune=0.8.4=py37h9bfed18_1001
- mkl=2019.5=281
- mkl-service=2.3.0=py37h0b31af3_0
- nbconvert=5.6.1=py37hc8dfbb8_1
- nbformat=5.0.6=py_0
- ncurses=6.1=h0a44026_1002
- nettle=3.4.1=h3efe00b_1002
- ninja=1.10.0=ha1b3eb9_0
- notebook=6.0.3=py37_0
- nspr=4.20=h0a44026_1000
- nss=3.47=hc0980d9_0
- numpy=1.18.1=py37h7687784_1
- opencv=4.2.0=py37_6
- openh264=1.8.0=hd9629dc_1000
- openjpeg=2.3.1=h254dc36_3
- openpyxl=3.0.3=py_0
- openssl=1.1.1g=h0b31af3_0
- pandas=1.0.3=py37h94625e5_1
- pandoc=2.9.2.1=0
- pandocfilters=1.4.2=py_1
- parso=0.7.0=pyh9f0ad1d_0
- patsy=0.5.1=py_0
- pcre=8.44=h4a8c4bd_0
- pdfminer.six=20191020=py_2
- pexpect=4.8.0=py37hc8dfbb8_1
- pickleshare=0.7.5=py37hc8dfbb8_1001
- pip=20.0.2=py_2
- pixman=0.38.0=h01d97ff_1003
- poppler=0.87.0=h3232a60_1
- poppler-data=0.4.9=1
- prometheus_client=0.7.1=py_0
- prompt-toolkit=3.0.5=py_0
- prompt_toolkit=3.0.5=0
- ptyprocess=0.6.0=py_1001
- py-opencv=4.2.0=py37h43977f1_6
- pycparser=2.20=py_0
- pycryptodome=3.9.7=py37h51495b9_1
- pygments=2.6.1=py_0
- pyparsing=2.4.7=pyh9f0ad1d_0
- pypdf2=1.26.0=py_2
- pyqt=5.12.3=py37he22c54c_1
- pyrsistent=0.16.0=py37h9bfed18_0
- python=3.7.6=h90870a6_5_cpython
- python-dateutil=2.8.1=py_0
- python_abi=3.7=1_cp37m
- pytorch=1.4.0=cpu_py37hf9bb1df_0
- pytz=2019.3=py_0
- pyyaml=5.3.1=py37h9bfed18_0
- pyzmq=19.0.0=py37haec44b1_1
- qt=5.12.5=h514805e_3
- qtconsole=4.7.3=pyh9f0ad1d_0
- qtpy=1.9.0=py_0
- readline=8.0=hcfe32e1_0
- scikit-learn=0.22.2.post1=py37h3dc85bc_0
- scipy=1.4.1=py37hce1b9e5_3
- seaborn=0.10.1=py_0
- send2trash=1.5.0=py_0
- setuptools=46.1.3=py37hc8dfbb8_0
- six=1.14.0=py_1
- sortedcontainers=2.1.0=py_0
- sqlite=3.30.1=h93121df_0
- statsmodels=0.11.1=py37h9bfed18_1
- terminado=0.8.3=py37hc8dfbb8_1
- testpath=0.4.4=py_0
- tk=8.6.10=hbbe82c9_0
- tornado=6.0.4=py37h9bfed18_1
- traitlets=4.3.3=py37hc8dfbb8_1
- wcwidth=0.1.9=pyh9f0ad1d_0
- webencodings=0.5.1=py_1
- wheel=0.34.2=py_1
- widgetsnbextension=3.5.1=py37_0
- x264=1!152.20180806=h1de35cc_0
- xlrd=1.2.0=py_0
- xz=5.2.5=h0b31af3_0
- yaml=0.2.4=h0b31af3_0
- zeromq=4.3.2=h6de7cb9_2
- zipp=3.1.0=py_0
- zlib=1.2.11=h0b31af3_1006
- zstd=1.4.4=h4b3e974_3
- pip:
- distro==1.5.0
- pdftotext==2.1.4
- pyqt5-sip==4.19.18
- pyqtwebengine==5.12.1
- tabula-py==2.1.0
prefix: /anaconda3/envs/ds
现在我的问题是,我是否可以要求新用户只需获取这个environment.yml文件并运行:
conda env create -f environment.yml
在他们的终端中,它会同时安装Python版本(3.7.6)和anaconda吗?还是他们首先必须分别安装Python 3.7.6和anaconda,然后运行上面的environment.yml文件
此外,mac os版本是否会影响上述软件包在不同系统上的功能
我知道docker负责操作系统版本的所有工作,但不能使用docker,我的项目要求用户输入几个命令行参数并传递他们的数据目录,因此它不能只是一个文件,他们单击后所有内容都会运行。他们需要输入参数
这就是为什么要求他们安装环境可能会复制相同的env,并且python脚本可以在他们的系统中运行
你必须安装一些Conda,你可以使用Miniconda来获得最基本的软件。所需的Python解释器在YAML文件中定义,并将根据需要安装。Miniconda已经包含了一个用于其自身功能的裸体Python解释器
相关问题 更多 >
编程相关推荐