美文网首页
Django做项目时常见的问题

Django做项目时常见的问题

作者: 探索1者 | 来源:发表于2018-12-24 19:49 被阅读0次

    1.Python3.5.2的pip3升级教程(解决:ImportError: cannot import name 'main')

    Python3的包管理器为pip3。在安装第三方库时,往往由于pip3的版本需要升级导致安装失败,报错提示如:

    You are using pip version 8.1.1, however version 10.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' install。

    升级pip3

    其实升级pip3只需要两步,1.输入升级指令 2.修改配置文件。
    升级指令为:sudo pip3 install --upgrade pip
    注意:如果只进行这一步的话接下来的安装仍会报错,提示错误大致为:cannot import name 'main'。所以还需要修改/usr/bin/pip3文件。
    先通过 sudo vim /usr/bin/pip3 打开文件,并将文件修改为

    from pip import __main__
    if __name__ == '__main__':
        sys.exit(__main__._main())
    

    保存退出后即可完成pip3的更新。
    另外
    pip3的安装、升级和卸载指令分别为:
    sudo apt-get install python3-pip
    sudo pip3 install --upgrade pip
    sudo apt-get remove -purge python3-pip

    2.Ubuntu系统下pip3安装第三方包的权限问题

    pip3 --user安装
    根据报错信息提示,可以使用 pip3 install 包名 --user 的方法进行安装。该包安装在/home/用户名/.local/lib/python3.5/site-packages/路径下,仅供该用户使用。

    3.Linux(ubuntu)下Pycharm配置python运行环境(编译器中导入虚拟环境)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/StupidAutofan/article/details/79199127

    4.Django - 导出项目依赖库到 requirements.txt

    两种方法

    1.虚拟环境
    使用 pip3 freeze
    pip3 freeze > requirements.txt
    这种方式推荐配合 virtualenv ,否则会把整个环境中的包都列出来。
    2.只扫描项目目录
    使用 pipreqs
    这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单。缺点是可能会有些偏差,需要检查并自己调整下。

    # 首先安装 pipreqs
    # pip install pipreqs
    # 安装位置在pip所在的目录下
    
    #使用方式也比较简单
    pipreqs /var/www/project
    

    用法:
    pip install -r /var/www/project/requriements.txt
    即可安装所有依赖
    可能遇到的问题:
    在使用 pipreqs /var/www/project 时可能会遇见:
    UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 776: illegal multibyte sequence
    解决方法为
    在后面指定编码格式 pipreqs /var/www/project --encoding=utf8
    用法:pip install -r requriements.txt 即可安装所有依赖

    5.Django设置 DEBUG = False后静态文件无法加载解决

    6.安装FastDFS

    遇到的问题:找不到安装的命令,但是 /usr/lib 确实存在,此时只需要重新启动linux系统即可,命令: init 6
    以下是安装步骤:
    1 安装fastdfs依赖包

    1. 解压缩libfastcommon-master.zip
    2. 进入到libfastcommon-master的目录中
    3. 执行 ./make.sh
    4. 执行 sudo ./make.sh install

    2 安装fastdfs

    1. 解压缩fastdfs-master.zip
    2. 进入到 fastdfs-master目录中
    3. 执行 ./make.sh
    4. 执行 sudo ./make.sh install

    3 配置跟踪服务器tracker

    1. sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
    2. 在/home/python/目录中创建目录 fastdfs/tracker
      mkdir –p /home/python/fastdfs/tracker
    3. 编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf
      修改 base_path=/home/python/fastdfs/tracker

    4 配置存储服务器storage

    1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
    2. 在/home/python/fastdfs/ 目录中创建目录 storage
      mkdir –p /home/python/fastdfs/storage
    3. 编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf
      修改内容:
      base_path=/home/python/fastdfs/storage
      store_path0=/home/python/fastdfs/storage
      tracker_server=自己ubuntu虚拟机的ip地址:22122

    5 启动tracker 和 storage
    sudo service fdfs_trackerd start
    sudo service fdfs_storaged start

    6 测试是否安装成功

    1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
    2. 编辑/etc/fdfs/client.conf配置文件 sudo vim /etc/fdfs/client.conf
      修改内容:
      base_path=/home/python/fastdfs/tracker
      tracker_server=自己ubuntu虚拟机的ip地址:22122
    3. 上传文件测试:
      fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
      如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功

    Ubuntu出现“E: 无法定位软件包问题”解决方法

    在Ubuntu中使用apt-get的时候,有时会出现“E: 无法定位软件包问题”,这就需要按下面的方法去解决:
    sudo apt-get update:更新一些软件源
    安装nginx常见的问题就是gcc,zlib,pcre,openssl缺少这四个依赖

    mysql导入 .sql 文件时,由于外键限制导致一部分数据没有导入,此时 只需要执行两次以下命令即可:

    source db.sql

    解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误

    重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)错误,进到logs文件发现的确没有nginx.pid文件
    [root@localhost sbin]# ./nginx -s reload
    nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
    解决方法:

    [root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    使用nginx -c的参数指定nginx.conf文件的位置
    [root@localhost nginx]# cd logs/
    [root@localhost logs]# ll
    -rw-r--r-- 1 root root 1246 12月  9 18:10 access.log
    
    -rw-r--r-- 1 root root  516 12月 10 15:39 error.log
    
    -rw-r--r-- 1 root root    5 12月 10 15:38 nginx.pid
    

    看nginx.pid文件已经有了。

    相关文章

      网友评论

          本文标题:Django做项目时常见的问题

          本文链接:https://www.haomeiwen.com/subject/hdeahqtx.html