阿里雲Linux系統配置python3-虛擬環境-mysql --踩坑實踐(Ubuntu系統轉centOS7)


序言:個人使用阿里雲的服務器,Ubuntu系統時在創建虛擬環境處卡住,多次修改無果後改用CentOS系統配置環境成功,但是其中也是嘗試多次,這裏就把自己找的能夠配置成功的方法整理起來,以備後續有相關配置時,能夠快速應對。


一、Ubuntu系統配置(mysqlvirtualenv

1. mysql安裝

平時使用虛擬機時,基本沒有太多涉及到這樣的問題。就是安裝前先apt-git命令升級下

sudo apt-get update
sudo apt-get install mysql-server

注:Ubuntu 最新系統自帶python3不存在安裝python部分,所以直接跳轉到虛擬環境的安裝。

2. 安裝虛擬環境

安裝虛擬環境報如下錯誤:

root@iZ2zef57ni8z6z1jo0l6flZ:/home# virtualenv django_news
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/django_news/bin/python2
Also creating executable in /home/django_news/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pkg_resources, pip, wheel...
  Complete output from command /home/django_news/bin/python2 - setuptools pkg_resources pip wheel:
  Collecting setuptools
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/66/e8/570bb5ca88a8bcd2a1db9c6246bb66615750663ffaaeada95b04ffe74e12/setuptools-40.2.0-py2.py3-none-any.whl (568kB)
Collecting pkg_resources
Exception:
Traceback (most recent call last):
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/commands/install.py", line 328, in run
    wb.build(autobuilding=True)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/wheel.py", line 748, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/req/req_set.py", line 360, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/req/req_set.py", line 512, in _prepare_file
    finder, self.upgrade, require_hashes)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/req/req_install.py", line 273, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 442, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 400, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 545, in _get_pages
    page = self._get_page(location)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 648, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 760, in get_page
    resp.raise_for_status()
  File "/home/django_news/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/models.py", line 840, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 404 Client Error: Not Found for url: http://mirrors.cloud.aliyuncs.com/pypi/simple/pkg-resources/
----------------------------------------
...Installing setuptools, pkg_resources, pip, wheel...done.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
    download=download,
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/django_news/bin/python2 - setuptools pkg_resources pip wheel failed with error code 2

解決辦法:
查了很多資料,有部分網友說是pip源的問題,需要修改/root/.pip/pip.conf的配置文件,將其優化爲如下代碼:

[global]
#index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
index-url=http://e.pypi.python.org/simple
[install]
trusted-host=mirrors.cloud.aliyuncs.com

實際執行後,進而報如下錯誤:

root@iZ2zef57ni8z6z1jo0l6flZ:/home/study/django# virtualenv -p python3 django_news
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/study/django/django_news/bin/python3
Also creating executable in /home/study/django/django_news/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pkg_resources, pip, wheel...done.

以上方法都不奏效,所以換爲CentOS系統進行配置。


二、CentOS系統配置(python3mkvirtualenvmysql

1. python3的安裝及配置

因爲centos系統默認是不安裝python3的所以這裏如果用到python3的同學需要先安裝。
python3安裝配置部分,已經被大家寫了很多了。所以這裏不再累述。我找到了一篇這方面的博文,寫的非常詳細,大家可以按照這個教程進行安裝。文章鏈接如下:

—– Centos 7安裝python3

請注意:因爲很多的centos系統中是沒有安裝zlibzlib-devel這兩個包的,所以在安裝python3前,請先安裝這兩個包,使安裝python3時關聯這兩個庫。否則後面創建虛擬環境命令部分會報如下錯誤:
ps:不要問我怎麼知道的,填坑的經歷不忍回憶。

mkvirtualenv env3 --python=python3

Traceback (most recent call last):
File "/usr/lib/python3/bin/virtualenv.py", line 17, in <module>
import zlib
ImportError: No module named zlib

zlibzlib-devel模塊的安裝命令如下:

yum install -y zlib zlib-devel

2. 虛擬環境的安裝

在保證上述的python3順利安裝完成後,開始進行接下來的虛擬環境的安裝。安裝步驟如下:

  • 安裝virtualenv virtualenvwrapper
pip install virtualenv virtualenvwrapper 
  • 如果沒有pip 先安裝
pip:yum install -y pip 
  • 安裝好了之後,查找virtualenv位置:
find / -name virtualenv 
例:返回:/usr/local/python3/bin/virtualenv 
查找virtualenvwrapper.sh位置:find / -name virtualenvwrapper.sh 
例:返回:/usr/local/python3/bin/virtualenvwrapper.sh
  • 在/usr/bin中添加環境變量(就是新建了一個軟連接) (如果bin文件下沒有的話,有就可以忽略這一步)
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
  • 修改環境變量相關腳本/root/.bashrc
    添加如下代碼
export WORKON_HOME=/root/.virtualenvs#創建一個存放虛擬環境的目錄 
export PROJECT_HOME=/root/workspace 
source /usr/local/python3/bin/virtualenvwrapper.sh #virtualenvwrapper.sh的位置 
  • 然後重啓:source /.bashrc
  • 檢驗
    輸入:mkvirtualenv 查看出現的信息,如果提示命令不存在,那麼就是沒有安裝成功
    基本命令:
    mkvirtualenv test #創建一個虛擬環境默認指向python3
    workon test #進入test虛擬環境
    deactivate #退出虛擬環境

配置完虛擬環境後,心裏大爽啊,畢竟之前就是Ubuntu的虛擬環境中花了很多時間。不多說了,抓緊時間配置mysql吧。

三、安裝mysql

這一類的文章也是很多了,但是我通過嘗試了.gz安裝包,.rpm安裝包,發現後者更加簡單,前者或多或少的存在這樣或那樣的問題,所以,這裏我推薦一篇自己經過篩選實踐的文章給大家。按照這個來安裝簡單方便。

阿里雲服務器Linux(CentOS)中MySQL5.7安裝以及完整的配置

希望大家能夠快速搭建基本的環境,少花些時間在環境的配置上,有更多的時間用來提升自己!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章