分享

工作笔记(ubuntu开发环境项目 部署到 红旗linux的工作环境)

 印度阿三17 2019-12-02

在ubuntu16.4开发, 系统迁移到红旗linux上,遇到了一些情况。

问题一: 红旗linux上,找不到pip

明明安装过了python3, python3自带pip,输入pip为什么找不到?

原因:没有做link。

pip -V 

参考:https://www.cnblogs.com/belic/p/python3_install.html

分析: 安装源码程序编译时,

./configure prefix=/usr/local/python3

make & makefile

目的是把可执行程序放在特定的目录。如果不指定prefix,可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share

解决:

#ln -s /usr/local/python3/bin/python3 /usr/bin/python3

#ln -s /usr/local/python36/bin/pip3 /usr/bin/pip

#pip  install -U pip

 验证:

#whereis pip3 , 则会显示来自于 /usr/bin/python3

其实,安装完python3后,应该把旧版本的python也一起替换掉。参考:https://blog.csdn.net/lukabruce/article/details/82186534

问题二:安装完pip后,安装visualenv的问题

在pip install virtualenv后直接用 “virtualenv my_new_env” 来创建虚拟环境(my_new_env为虚拟环境的目录名)会提醒command not found
这是因为/usr/bin/中还没有创建软连接。

方法1:去原来的安装路径目录下执行,但太麻烦:  /usr/local/python3/bin/virtualenv env

如果不知道路径的可以通过 “find / -name virtualenv” 查找

方法2:创建链接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

然后任意目录下都可以执行了。

virtualenv  new_env

问题二: pip install xxx 特别慢,下载东西的速度只有 10k/秒 左右

生成requirements.txt文件在开发环境ubuntu上:

(1)pip freeze > requirements.txt

(2)拷贝到红旗linux环境

(3)pip install -r requirements.txt   特别特别慢

解决:更换pip源泉,我换的清华源

    阿里云 https://mirrors.aliyun.com/pypi/simple/
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  豆瓣(douban) http://pypi.douban.com/simple/
  清华大学 https://pypi.tuna./simple/
  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

1.临时安装替换: pip install django -i https://pypi.tuna./simple

2.永久替换:修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:

[global]

index-url = https://pypi.tuna./simple

 

 

 windows:
直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下

[global] index-url = https://pypi.tuna./simple

 参考https://blog.csdn.net/chenghuikai/article/details/55258957

 问题三 django can't find new sqlite version? (SQLite 3.8.3 or later is required (found 3.7.17))

启动django时候报上述错误 :python3 manage.py runserver


sqlite版本太老,下载安装新版本,并修改配置链接。

参考:https:///rururu_kenken/items/8202b30b50e3bfa75821

下载,解压
$ wget https://www./2019/sqlite-autoconf-3280000.tar.gz $ tar xvfz sqlite-autoconf-3280000.tar.gz
$ cd sqlite-autoconf-3280000
安装,路径为/usr/local
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ sudo find /usr/ -name sqlite3 【find 路径 -name 要找的内容】

上述指令,找到一大堆结果
/usr/bin/sqlite3  #老版本sqlite
/usr/lib64/python2.7/sqlite3 #目录
/usr/lib64/python3.7/sqlite3 #目录
/usr/local/bin/sqlite3  #刚刚安装编译的新版本sqlite
删除垃圾
$ rm sqlite-autoconf-3280000.tar.gz
$ rm -rf ./sqlite-autoconf-3280000

确认版本
$ /usr/local/bin/sqlite3 --version
  3.28.0 2019-04-16
$ /usr/bin/sqlite3 --version
  3.7.17 2013-05-20
切换版本
$ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
$ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

# 因为sqlite3会依赖并使用第三方库,所有要设置共享库
# vi ~/.bashrcし,追加下面一行,

$ export LD_LIBRARY_PATH="/usr/local/lib"
使配置文件生效:
# source ~/.bashrc   
共享库知识参考: https://www.cnblogs.com/wainiwann/p/4210343.html

#用python确认sqlite版本
#python
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.28.0'
>>> exit()
可以启动django了
python3 manage.py runserver

最后,启动django服务或batch

(1)virtualenv 下, 启动 #source activate

(2)出现 (venv)目录标记

在这个标记下,切换目录,到django工程目录,也就是manage.py所在的目录

启动web: python manage.py runserver 0.0.0.0:8000

启动batch: python manage.py xxxxx(batch file)

来源:https://www./content-3-584551.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多