目前,我们有一个使用Cloudera-Virtual Machines构建的大数据集群。默认情况下,VM 上的 Python 版本为 2.7。
对于我的一个程序,我需要Python 3.6。我的团队对 2 个安装非常怀疑,并害怕破坏现有的集群/虚拟机。我打算按照这篇文章安装2个版本 https://www.digitalocean.com/community/tutorials/how-to-set-up-python-2-7-6-and-3-3-3-on-centos-6-4
有没有办法"我可以在我的项目中打包Python 3.6"版本,并将Python主路径设置为我的项目文件夹,这样就不需要在现有的虚拟机上完成安装?
由于我们必须下载python并为Unix版本构建源代码,因此我想在VM上跳过这部分,而是提供具有Python 3.6的文件夹
看来miniconda
就是你需要的。 使用它,您可以使用不同版本的 Python 管理多个 Python 环境。
要安装 miniconda3,只需运行:
# this will download & install miniconda3 on your home dir
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh -b -p ~/miniconda3
然后,创建新的 python3.6 环境:
conda create -y -n myproject 'python>3.6'
现在,输入新的 python3.6 环境
source activate myproject
python3
miniconda
还可以安装 Python 包,包括 pip 包和编译包。 您还可以将 env 从一台计算机复制到另一台计算机。我鼓励你更深入地研究它。
ShmulikA的建议非常好。
在这里我想添加另一个 - 我使用 Python 2.7.x,但对于少数原型,我不得不使用 Python 3.x。为此,我使用了pyenv
实用程序。
安装后,您所要做的就是:
pyenv install 3.x.x
可以列出所有可用的 Python 变体:
pyenv versions
要使用特定版本,在项目根目录下,执行以下操作:
pyenv local 3.x.x
它将在项目根目录上创建一个文件.python-version,并将版本作为其内容:
[nahmed@localhost ~]$ cat some-project/.python-version
3.5.2
例:
[nahmed@localhost ~]$ pyenv versions
* system (set by /home/nahmed/.pyenv/version)
3.5.2
3.5.2/envs/venv_scrapy
venv_scrapy
[nahmed@localhost ~]$ pyenv local 3.5.2
[nahmed@localhost ~]$ pyenv versions
system
* 3.5.2 (set by /home/nahmed/.python-version)
3.5.2/envs/venv_scrapy
venv_scrapy
我发现它使用起来非常简单。 这是一篇关于安装和基本用法的文章(我的博客文章(。
对于部分:
由于我们必须下载python并为Unix构建源代码 版本,我想在 VM 上跳过这部分,而是运送文件夹 它有Python 3.6
你可以研究将Python解释器嵌入到Python应用程序中的方法:
对于Windows和Linux,都有bbfreeze或pyinstaller。
从 - SOAnswer。