- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我按照本教程将 django 应用程序部署到 RHEL 8 服务器: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-centos-7
内部 django 网络服务器与
配合得很好python manage.py runserver 0:8000
无论如何,guniserver 不会。调试错误时出现 500 内部服务器错误,否则出现以下问题:
TweepError at /
Failed to send request: Only unicode objects are escapable. Got None of type <class 'NoneType'>.
Request Method: GET
Request URL: http://ip/
Django Version: 2.2.5
Exception Type: TweepError
Exception Value:
Failed to send request: Only unicode objects are escapable. Got None of type <class 'NoneType'>.
Exception Location: /home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/utils.py in escape, line 57
Python Executable: /home/ec2-user/django_sentiment/env/bin/python
Python Version: 3.7.4
Python Path:
['/home/ec2-user/django_sentiment',
'/home/ec2-user/django_sentiment/env/bin',
'/home/ec2-user/.pyenv/versions/3.7.4/lib/python37.zip',
'/home/ec2-user/.pyenv/versions/3.7.4/lib/python3.7',
'/home/ec2-user/.pyenv/versions/3.7.4/lib/python3.7/lib-dynload',
'/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages']
Server time: Thu, 19 Sep 2019 23:30:33 +0000</i>
TRACEBACK
Environment:
Request Method: GET
Request URL: http://ip/
Django Version: 2.2.5
Python Version: 3.7.4
Installed Applications:
['twitter.apps.TwitterConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
回溯:
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/tweepy/binder.py" in execute
189. proxies=self.api.proxy)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/sessions.py" in request
519. prep = self.prepare_request(req)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/sessions.py" in prepare_request
462. hooks=merge_hooks(request.hooks, self.hooks),
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/models.py" in prepare
317. self.prepare_auth(auth, url)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/models.py" in prepare_auth
548. r = auth(self)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests_oauthlib/oauth1_auth.py" in __call__
88. unicode(r.url), unicode(r.method), None, r.headers)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/__init__.py" in sign
313. ('oauth_signature', self.get_oauth_signature(request)))
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/__init__.py" in get_oauth_signature
127. uri, headers, body = self._render(request)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/__init__.py" in _render
210. request.oauth_params, request.headers, realm=realm)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/utils.py" in wrapper
32. return target(params, *args, **kwargs)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/parameters.py" in prepare_headers
59. escaped_value = utils.escape(value)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/utils.py" in escape
57. 'Got %r of type %s.' % (u, type(u)))
During handling of the above exception (Only unicode objects are escapable. Got None of type <class 'NoneType'>.), another exception occurred:
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ec2-user/django_sentiment/twitter/views.py" in index
55. public_tweets = getTweets(hashtag)
File "/home/ec2-user/django_sentiment/twitter/views.py" in getTweets
21. return api.search(hashtag, tweet_mode='extended', count=100)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/tweepy/binder.py" in _call
250. return method.execute()
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/tweepy/binder.py" in execute
191. six.reraise(TweepError, TweepError('Failed to send request: %s' % e), sys.exc_info()[2])
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/six.py" in reraise
692. raise value.with_traceback(tb)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/tweepy/binder.py" in execute
189. proxies=self.api.proxy)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/sessions.py" in request
519. prep = self.prepare_request(req)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/sessions.py" in prepare_request
462. hooks=merge_hooks(request.hooks, self.hooks),
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/models.py" in prepare
317. self.prepare_auth(auth, url)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests/models.py" in prepare_auth
548. r = auth(self)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/requests_oauthlib/oauth1_auth.py" in __call__
88. unicode(r.url), unicode(r.method), None, r.headers)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/__init__.py" in sign
313. ('oauth_signature', self.get_oauth_signature(request)))
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/__init__.py" in get_oauth_signature
127. uri, headers, body = self._render(request)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/__init__.py" in _render
210. request.oauth_params, request.headers, realm=realm)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/utils.py" in wrapper
32. return target(params, *args, **kwargs)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/parameters.py" in prepare_headers
59. escaped_value = utils.escape(value)
File "/home/ec2-user/django_sentiment/env/lib/python3.7/site-packages/oauthlib/oauth1/rfc5849/utils.py" in escape
57. 'Got %r of type %s.' % (u, type(u)))
Exception Type: TweepError at /
Exception Value: Failed to send request: Only unicode objects are escapable. Got None of type <class 'NoneType'>.
requirement.txt 文件:
astroid==2.2.5
autopep8==1.4.4
certifi==2019.6.16
chardet==3.0.4
Django==2.2.5
gunicorn==19.9.0
idna==2.8
isort==4.3.21
lazy-object-proxy==1.4.2
MarkupSafe==1.1.1
mccabe==0.6.1
oauthlib==3.1.0
pycodestyle==2.5.0
pylint==2.3.1
PySocks==1.7.0
pytz==2019.2
requests==2.22.0
requests-oauthlib==1.2.0
selenium==3.141.0
six==1.12.0
sqlparse==0.3.0
style==1.1.0
tweepy==3.8.0
typed-ast==1.4.0
update==0.0.1
urllib3==1.25.3
vaderSentiment==3.2.1
wrapt==1.11.2
我已经仔细检查了我的环境变量和我的settings.py。一切看起来都很好。
Description=gunicorn daemon
After=network.target
[Service]
User=ec2-user
Group=nginx
WorkingDirectory=/home/ec2-user/django_sentiment
ExecStart=/home/ec2-user/django_sentiment/env/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/home/ec2-user/run/django_sentiment.sock \
sentiment.wsgi:application \
[Install]
WantedBy=multi-user.target
Description=gunicorn daemon
After=network.target
它正确地创建了套接字文件,并且 nginx 可以很好地读取该文件。
最佳答案
您似乎正在使用 tweepy 从推文中获取情绪。您需要 Twitter API 凭据才能执行此操作。此错误表明您的某些 API 凭据是None
。您应该确保存储 API 凭据的任何环境变量均已正确设置。应该有4个:
您可以使用一个小的 python 脚本来测试 tweepy API 是否正常工作:
import os
import tweepy
c_key = os.environ.get('tw_c_key')
c_sec = os.environ.get('tw_c_sec')
atk = os.environ.get('tw_ac_tok')
ats = os.environ.get('tw_ac_sec')
auth = tweepy.OAuthHandler(c_key, c_sec)
auth.set_access_token(atk, ats)
api = tweepy.API(auth)
results = api.search(q='cheese', count=100)
print(results[1].text)
您可能需要更改环境变量名称以匹配您所拥有的名称。
关于python - 无法发送请求 : Only unicode objects are escapable. 没有任何类型 <class 'NoneType' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58020114/
我只想知道它们之间的区别: .class .class{ font-size:14px; } 对比: .class > .class{ font-size:14px; } 是一样的东西吗? 最佳答案
PrimeFaces 文档的以下摘录使标题中描述的两个选择器之间似乎存在差异: .ui-widget, .ui-widget .ui-widget { font-size: 90% !imp
我正在尝试选择特定值。但我遇到了一个问题。 我有两个元素,一个有 X Y,另一个有 X Y Z。 当选择 X Y Z 时,我也收到 X Y 的值...有没有办法让它寻找 X AND Y AND Z 而
.class.class 和 .class .class 有什么区别? 最佳答案 .class .class 匹配类 .class 的任何元素,这些元素是类 .class< 的另一个元素的后代/. .
我正在研究 Classname.class 和 Classname.class.toString() 并发现了一些不寻常的东西。 .class 在同一个类上运行时似乎等同于 .class。尽管 .cl
我试图在Dart中扩展列表并在此列表中使用另一个类。 这是我的示例,其中注释出了问题: import "Radio.dart"; // extends ListBase { List ra
我有一个很大的“经理”类,我认为它做得太多了,但我不确定如何将它划分为更多逻辑单元。 一般来说类主要由以下方法组成: class FooBarManager{ GetFooEntities();
我在一个文件中定义了一个抽象父类(super class),在另一个文件中定义了一个子类。我需要父类(super class)文件和堆栈跟踪报告来找到一个包含它。 但是,当它到达“extends”行时
我在 A. Alexenderscu 的现代 C++ 设计中找到了一些模板示例 作者使用以下行的地方 template class CheckingPolicy // class SmartPt
看一下这段代码: public static class A { public void doA() { } } public static class B extends A {
我有两个具有 .body 类的 div,但是,一个位于另一个具有 .box 类的 div 中 - 如下所示: 我只想为 .box 内部的 .body 设置样式...但我在下面所
我一定是遗漏了 C++ 规范中的某些内容,因为我无法解释为什么以下代码可以成功编译: class MyClass { static void fun(); }; int main() { MyClas
我正在尝试在 python 中“模拟”命名空间。我使用内部和外部类层次结构来创建我的命名空间。例如,您希望将文件(如资源)的路径保存在一个位置。我试过这样的事情: src = #path to sou
在试验 online crystal compiler 时(这太棒了),我遇到了一个我似乎无法找到解释的错误: class Person class Current < self end
在查看我的一段代码时,我陷入了如下的一条语句。 TMyObjectClass = TMyObject 类; 我有点困惑,不知道这句话是什么意思。由于 TMyObjectClass 在该语句上方没有声明
我正在编写一个简单的应用程序,以学习一些基本的Dart编程,但无法弄清楚其结构和包含的内容-我得到了一个重复的类Point 首先,我有一个叫做MouseTrack的主类。它将初始化列表并产生循环。 #
在 org.springframework.core.SerializableTypeWrapper (版本 5.2.3),第 112 行有以下代码: if (GraalDetector.in
我希望将鼠标悬停在子导航中的列表项上,以激活页面上该类别中所有项的类(不仅仅是父元素或同级元素)。有任何想法吗?这是我的意思的一个例子: img.BLUE {border:1px solid #FF
我正在通过 ClassLoader 加载类: Class clazz = urlClassLoader.loadClass(name.substring(0, name.length() - 6).r
以下简化的类在从 get() 返回值时执行不同的操作,具体取决于该类是被赋予 double 值还是数组作为模板参数: #include "array" #include "type_traits" t
我是一名优秀的程序员,十分优秀!