- module has no attribute
原因:命名文件不能与导包名字相同
解决办法:改名字
2安装CGI
1.参考网站:https://www.jianshu.com/p/68b11edc055e - https://www.cnblogs.com/wanxudong/p/5846907.html
先在第二个网站找到 cd /etc/apache2
打开sudo vim httpd.conf
接着按照第一个网站的顺序往下弄
Alias /cgi /var/www/cgi 这个‘/cgi’是 /localhost/cgi的你想设置的目录 ‘/var/www/cgi’ 这个是你CGI的目录 例如
!/usr/local/bin/python3 这个可以按照自己Python的版本所在路径设置,没有太大关系
CGI的文件,可以自己设置文件夹,然后网页访问加上文件夹的路径即可,例如:localhost/cgi/python_0711/hello.py
4.每一个CP 复制过来的文件都要查看是否有执行权限,没有则加上权限,chmod 755 hello.py
复制可以一次性复制很多文件 ,例如 cp a.py b.py /usr/local
不写则不修改文件名,源文件名复制
5.import 路径问题
解决办法:
在最初的终端
pip3 install pytz
安装pytz 不要在运行终端上安装,因为这与程序运行所找的pytz不是同一个目录
6.永久设置vim显示行号:
第一种是,手动显示:在vim命令行模式下输入 :set nu
取消显示:在vim命令行模式下输入: set nonu
第二种是,永久自动显示:我们修改一个配置文件。
我们输入命令:vim ~/.vimrc
打开后是一个空文件,我们添加 set nu,保存退出,再次进入vim编辑器,就会自动显示出行号了。如此简单
7.pycharm 永久权限
网站; https://blog.csdn.net/u014044812/article/details/78727496
mac 的hosts:/private/etc
8.在终端想运行Python文件出错
解决办法:
不能 这样运行./xxx.py 因为解析不了,易出错
故:python xxx.py这样运行就不会出错了ß
9.wsgi运行
先运行XXX.py
然后在浏览器上写上地址:localhost:‘port’/xxx.py
10.导入MySQLdb
在终端运行
pip install mysqlclient
除了建立软链接之外,还有一种方法:
运行终端:
vi .bash_profile
追加行:export DYLD_LIBRARY_PATH=”/usr/local/mysql/lib”
source .bash_profile
重新终端运行:
python
import MySQLdb
11.Django的路径问题
urlpatterns = [
url(r’^admin/’, admin.site.urls),
url(r’^user/’, include(‘fruitapp.urls’)),
url(r’^df_goods/’, include(‘df_goods.urls’)),
]
1. 在基准urls中写路径时不写
(表示结束),如果没有写结束符$,则你在访问其他路径时还是会访问上一个没有结束的路径
urlpatterns = [
url(r’^
’, detail),
url(r’^list(\d+)(\d+)(\d+)/
即url(r’^’, index),如果你输入127.0.0.1:8000/df_goods/3, 访问的还是index,切记!!!
12.安装mysql
1. 安装mysql的服务器和客户端工具
sudo apt install mysql-server mysql-client
sudo service mysql start
安装mysql的python相关模块
(当你出现了mysql.config not found则要考虑是否安装了以下步骤)
# 安装编译程序所需的工具
sudo apt install build-essential
# 安装编译mysqlclient所需的以来包
sudo apt install libmysqlclient-dev libpython3-dev
# 用pip3安装mysqlclient
pip3 install mysqlclient
装完mysqlclient之后,可以尝试在交互式的python中导入模块MySQLdb
import MySQLdb注意事项:pip3和python3必须是一起的,也就是说两个命令应该在同一个目录下: /usr/bin/pip3 /usr/bin/python3 无法导入MySQLdb模块的常见原因: 1. 安装的时候用的是root用户,导入的时候用的是普通用户 2. 安装的时候用的是普通用户,导入的时候用的是root用户 3. 所运行的python3和安装时所使用的pip3不是在一起的
SyntaxError: Non-ASCII character ‘\xca’ in file XXX, but no encoding declared解决方法
在.py文件开头加上一行代码
、 #coding:utf-8
14.Django 的命名空间
假如 没有在urls.py 里面定义
app_name = ‘app2’App2一个项目的名字
就直接在模板上用 app2:detail
则会报错
解决办法:
加上app_name = ‘app2’
15.用ListView来取代原有的index页面的view
参考流程:
- 导入django.views.generic.ListView
定义新的类BookListView,继承 ListView
class BookListView(ListView):
model = Book重新定义URL,其中的view写成 BookListView.as_view()
url(r’^$’, BookListView.as_view()),
编写模板文件,如果模板文件的名字不对,将会有错误产生,错误信息类似这样:
TemplateDoesNotExist at …
book/book_list.html
如果页面没有显示数据,则考虑修改模板中变量的名字,使用object_list.
出现这样的错误 则需要在模板下复制一份旧的index文件改成相应的名字,然后在将里面传入的参数改成object_list.
例如 传的参数是books 则改为object_list.
16.当使用CSRF_token 时容易犯的错
这时候你要去看看{% csrf_token %}是否在form表单里面
不在就会检测你出错了
17.测试用例时,mysql没有权限问题
进入mysql数据库设置
mysql –u root –p
grant all on test.db2.* to db2@localhost identified by “root”
根据自己相应的数据库名称来适当的修改参数
18.安装selenium
1)cd ~
vim .bash_profile
配置路径
export PATH=$PATH:/Users/zelin/PycharmProjects/example/ChromeDriver
更新到最新版本的selenium
sudo pip install -U selenium
测试:
from selenium import webdriver
import time
url = “https://www.hao123.com/”
driver = webdriver.Chrome()
driver.get(url)
time.sleep(13)