本文的目的是介绍pySerial在Python解释器中可以正常工作,但不能独立运行的详细情况,我们将通过专业的研究、有关数据的分析等多种方式,同时也不会遗漏关于127.0.0.1可以访问/正常工作,但
本文的目的是介绍pySerial在Python解释器中可以正常工作,但不能独立运行的详细情况,我们将通过专业的研究、有关数据的分析等多种方式,同时也不会遗漏关于127.0.0.1可以访问/正常工作,但localhost不可访问/不能正常工作、bash – 在python解释器提示符中添加颜色,不能正确包装、heroku local可以正常运行,但不能在线运行(Ionic和Firebase后端)、OS X Terminal中Python解释器中的制表符完成的知识。
本文目录一览:- pySerial在Python解释器中可以正常工作,但不能独立运行
- 127.0.0.1可以访问/正常工作,但localhost不可访问/不能正常工作
- bash – 在python解释器提示符中添加颜色,不能正确包装
- heroku local可以正常运行,但不能在线运行(Ionic和Firebase后端)
- OS X Terminal中Python解释器中的制表符完成
pySerial在Python解释器中可以正常工作,但不能独立运行
早上好!最近,我买了一个Arduino开发板来对房间进行“灯光控制”。这是我编写的固件代码:
int control = 0;int pin = 0;void setup(){ Serial.begin(9600); for(pin = 0; pin <= 13; pin++) pinMode(pin, OUTPUT);}void loop(){ control = Serial.read(); if (control > 0 && control <= 13) digitalWrite(control, HIGH); if (control < 256 && control >= (256-13)) digitalWrite((256-control), LOW);}
之后,我使用了Python解释器中的pySerial来控制引脚,一切工作正常。这是一段解释器输出:
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import serial>>> ser = serial.Serial(''/dev/ttyUSB0'', 9600)>>> ser.write(chr(12))>>> # The light turned on here... >>> ser.write(chr(256-12))>>> # The light turned off here...
然后,我决定编写一个简单的Python脚本来执行相同的操作:
#!/usr/bin/env pythonimport serialimport timeser = serial.Serial(''/dev/ttyUSB0'', 9600)ser.write(chr(12))time.sleep(1)ser.write(chr(256-12))
但这根本不起作用!Arduino显示在我启动脚本的过程中收到了一些东西,但是什么也没发生。这是脚本的strace输出:
open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(3, SNDCTL_TMR_START or TCSETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 4ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(4, SNDCTL_TMR_START or TCSETS, {B9600 -opost -isig -icanon -echo ...}) = 0ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0write(4, "\f", 1) = 1close(4) = 0rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f45cf4c88f0}, {0x4d9820, [], SA_RESTORER, 0x7f45cf4c88f0}, 8) = 0exit_group(0) = ?
看起来一切都应该很好,所以我不知道问题可能出在哪里。我将不胜感激,在此先感谢您!
PS当我在PDB下运行该程序时,一切正常。Heisenbug。
更新:我让控制器将接收到的数据发回给我,并且在运行脚本时似乎什么也没接收到,但是当我从解释器发送数据时,接收到了所有内容。固件的代码现在如下所示:
int control = 0;int pin = 0;void setup(){ Serial.begin(9600); for(pin = 0; pin <= 13; pin++) pinMode(pin, OUTPUT);}void loop(){ if (Serial.available() > 0) { control = Serial.read(); if (control <= 13) digitalWrite(control, HIGH); if (control < 256 && control >= (256-13)) digitalWrite((256-control), LOW); Serial.println(control); }}
答案1
小编典典我认为这可能是打开串行端口和发送数据之间的竞争状态。我可能会在打开和写入调用之间进行睡眠。
另外,您可能不想打开这个库“ serial”,而是直接打开并直接写入设备,这可能是在做一些有趣的事情(请参阅其他文章中提到的double open)
127.0.0.1可以访问/正常工作,但localhost不可访问/不能正常工作
我使用了几年的wamp,几个月前我升级到了windows 8,到昨天为止我的运行顺利。 但现在不能使用本地主机访问。 但是当我尝试127.0.0.1,而不是工作顺利。 我在主机文件中将:: 1 localhost更改为127.0.0.1 localhost 。 哪些解决scheme在大多数网站中提出了这个问题。 但不幸的是,它不适合我。 当我ping本地主机显示重播从:: 1:时间<1毫秒 。 而且没有软件使用端口80我已经检查过它。 请帮忙解决这个问题。
Nginx提供静态内容和代理到Apache
使用redirect从url中移除.html
如何使Apache使用mod_perl处理.pl(Perl)文件?
Apache不执行PHP文件
简单.htaccessredirect:如何redirect参数?
编辑
%systemRoot%system32driversetchosts
并更换
::1 localhost
同
127.0.0.1 localhost
保存并重新启动Apache。 希望它能工作。
将127.0.0.1 localhost添加到您的主机文件。
如果前面有# (注释符号),请将其删除。
删除本地主机的其他实例,或将#置于其他实例的前面。
您的hosts文件通常位于c:windowssystem32driversetchosts ,当您尝试编辑此文件时,运行记事本(或任何其他首选编辑器)作为ADMINISTRATOR,否则机会很大,您的修改不会被保存。
完成这一切之后,在浏览器中执行control-f5(不使用缓存刷新)。
我遇到了与我的Mac上的XAMPP相同的问题,并(终于)找出如何解决这个问题。 在Windows上,类似的东西可能适合你:
即使我的/ etc / hosts文件看起来是正确的,但我有一种感觉,它不工作。 (“ping本地主机”返回没有结果,但“ping 127.0.0.1”工作。)所以,我发现原来的主机文件(/ etc / hosts〜orig)的副本,我用当前的主机文件替换。 这在重新启动Apache之后做了窍门。
$ sudo mv /etc/hosts /etc/hosts~old $ sudo cp /etc/hosts~orig /etc/hosts $ ping localhost
对于DNS问题:
ipconfig /flushdns
ipconfig /registerdns
或者宁愿备份代码并重新安装wamp服务器。
不过要快得多的解决方案,记住你是wamp设置。
将host 127.0.0.1 localhost添加到hosts文件后,复制hosts文件的内容并将其粘贴到另一个新文件中,然后用新文件替换旧的hosts文件。 这对我有效。
解决问题通过编辑/ etc / hosts文件 :我也有类似的问题(能够ping 127.0.0.1,但ping本地主机时发出问题)。 我通过删除条目,如:: 1本地主机,ff81 :: 1%lo0本地主机,只有127.0.0.1本地主机….我删除了本地主机的其余条目。 我为我的Mac做了这个。
在这个过程之后,我可以使用eclipse来调试我的java应用程序。
您可以删除评论(#行开始)或添加127.0.0.1本地主机在您的主机(文件夹等)
用权限admin打开这个文件
如果您编辑了vhosts.conf文件并添加了虚拟主机,也会出现此问题。 要解决虚拟主机条目的每一行注释,例如,如果使用xampp, 请在vhosts.conf中编辑条目并注释所有行(在每行之前添加一个#)
##<VirtualHost *:80> ##serverAdmin webmaster@dummy-host.example.com ##DocumentRoot "E:/xampp/htdocs/dummy-host.example.com" ##serverName dummy-host.example.com ##serverAlias www.dummy-host.example.com ##ErrorLog "logs/dummy-host.example.com-error.log" ##CustomLog "logs/dummy-host.example.com-access.log" common ##</VirtualHost>
然后取消注释或在主机文件中添加127.0.0.1 localhost主机。
总结
以上是小编为你收集整理的127.0.0.1可以访问/正常工作,但localhost不可访问/不能正常工作全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
bash – 在python解释器提示符中添加颜色,不能正确包装
sys.ps1 = '\033[96m>>> \033[0m' sys.ps2 = '\033[96m... \033[0m'
在我的PYTHONSTARTUP文件中,它根据需要为其提供颜色.但是,行上的任何文本都不能正确包装.文本到达行的末尾,而不是立即开始新行,在开始换行之前开始覆盖第一行的开头.正如您可能想象的那样,这实际上是不可读的.我该如何解决这个问题?
sys.ps1 = '\001\033[96m\002>>> \001\033[0m\002' sys.ps2 = '\001\033[96m\002... \001\033[0m\002'
This answer to a similar question explains why the \001
and \002
are necessary.
heroku local可以正常运行,但不能在线运行(Ionic和Firebase后端)
如何解决heroku local可以正常运行,但不能在线运行(Ionic和Firebase后端)?
我正在将带Firebase后端的ionic(v.4)部署到Heroku,但该应用程序只能在本地运行,当我运行git push heroku master来构建应用程序时,它无法正常工作。
heroku日志显示:
这是构建过程:
Server.js:
var express = require("express");
var app = express();
var morgan = require("morgan");
var bodyParser = require("body-parser");
var cors = require("cors");
app.use(morgan("dev"));
app.use(bodyParser.urlencoded({ extended: "true" }));
app.use(bodyParser.json());
app.use(cors());
app.use(function (req,res,next) {
res.header("Access-Control-Allow-Origin","*");
res.header("Access-Control-Allow-Methods","DELETE,PUT");
res.header(
"Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept"
);
next();
});
app.use(express.static("www"));
app.set("port",process.env.PORT || 5000);
app.listen(app.get("port"),function () {
console.log("Express server listening on port " + app.get("port"));
});
package.json::我已将打字稿和应用程序脚本从devDependencies移至依赖项
{
"name": "english","version": "0.0.1","author": "Ionic Framework","homepage": "https://ionicframework.com/","scripts": {
"ng": "ng","start": "ng serve","build": "ng build","test": "ng test","lint": "ng lint","e2e": "ng e2e"
},"private": true,"dependencies": {
"@angular/common": "~10.0.0","@angular/core": "~10.0.0","@angular/fire": "^6.0.2","@angular/forms": "~10.0.0","@angular/platform-browser": "~10.0.0","@angular/platform-browser-dynamic": "~10.0.0","@angular/router": "~10.0.0","@capacitor/core": "2.4.1","@fortawesome/angular-fontawesome": "^0.7.0","@fortawesome/fontawesome-svg-core": "^1.2.30","@fortawesome/free-brands-svg-icons": "^5.14.0","@fortawesome/free-regular-svg-icons": "^5.14.0","@fortawesome/free-solid-svg-icons": "^5.14.0","@ionic-native/core": "^5.0.0","@ionic-native/splash-screen": "^5.0.0","@ionic-native/status-bar": "^5.0.0","@ionic/angular": "^5.0.0","@ionic/app-scripts": "^3.2.4","express": "^4.17.1","firebase": "^7.20.0","ng2-search-filter": "^0.5.1","rxjs": "~6.5.5","tslib": "^2.0.0","typescript": "~3.9.5","zone.js": "~0.10.3"
},"devDependencies": {
"@angular-devkit/architect": ">= 0.900 < 0.1100","@angular-devkit/build-angular": "^0.1000.8","@angular/cli": "~10.0.5","@angular/compiler": "~10.0.0","@angular/compiler-cli": "~10.0.0","@angular/language-service": "~10.0.0","@capacitor/cli": "2.4.1","@ionic/angular-toolkit": "^2.3.0","@types/jasmine": "~3.5.0","@types/jasminewd2": "~2.0.3","@types/node": "^12.11.1","codelyzer": "^6.0.0","firebase-tools": "^8.0.0","fuzzy": "^0.1.3","inquirer": "^6.2.2","inquirer-autocomplete-prompt": "^1.0.1","jasmine-core": "~3.5.0","jasmine-spec-reporter": "~5.0.0","karma": "~5.0.0","karma-chrome-launcher": "~3.1.0","karma-coverage-istanbul-reporter": "~3.0.2","karma-jasmine": "~3.3.0","karma-jasmine-html-reporter": "^1.5.0","open": "^7.0.3","protractor": "~7.0.0","ts-node": "~8.3.0","tslint": "~6.1.0"
},"description": "An Ionic project"
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
OS X Terminal中Python解释器中的制表符完成
几个月前,我写了一篇博客文章,详细介绍了如何在标准的Python交互式解释器中实现制表符补全-
我曾经认为该功能仅在IPython中可用。考虑到由于IPython unicode问题有时不得不切换到标准解释器,所以我发现它非常方便。
最近,我在OS X中做了一些工作。不满的是,该脚本似乎不适用于OS X的Terminal应用程序。我希望一些在OS
X方面有经验的人能够帮助我解决它,以便它也可以在Terminal中使用。
我正在复制下面的代码
import atexitimport os.pathtry: import readlineexcept ImportError: passelse: import rlcompleter class IrlCompleter(rlcompleter.Completer): """ This class enables a "tab" insertion if there''s no text for completion. The default "tab" is four spaces. You can initialize with ''\t'' as the tab if you wish to use a genuine tab. """ def __init__(self, tab='' ''): self.tab = tab rlcompleter.Completer.__init__(self) def complete(self, text, state): if text == '''': readline.insert_text(self.tab) return None else: return rlcompleter.Completer.complete(self,text,state) #you could change this line to bind another key instead tab. readline.parse_and_bind(''tab: complete'') readline.set_completer(IrlCompleter(''\t'').complete)# Restore our command-line history, and save it when Python exits.history_path = os.path.expanduser(''~/.pyhistory'')if os.path.isfile(history_path): readline.read_history_file(history_path)atexit.register(lambda x=history_path: readline.write_history_file(x))
请注意,我已经从博客文章中的版本中对其进行了稍微的编辑,以便IrlCompleter
使用真正的制表符对进行初始化,这似乎是Terminal中Tab键输出的结果。
答案1
小编典典为了避免不得不使用更多的GPL代码,Apple不提供真正的读取线。取而代之的是,它使用BSD许可的libedit,它仅在大多数情况下与readline兼容。如果要完成,请构建自己的Python(或使用Fink或MacPorts)。
我们今天的关于pySerial在Python解释器中可以正常工作,但不能独立运行的分享就到这里,谢谢您的阅读,如果想了解更多关于127.0.0.1可以访问/正常工作,但localhost不可访问/不能正常工作、bash – 在python解释器提示符中添加颜色,不能正确包装、heroku local可以正常运行,但不能在线运行(Ionic和Firebase后端)、OS X Terminal中Python解释器中的制表符完成的相关信息,可以在本站进行搜索。
本文标签: