我是Python和Eclipse的新手,在理解如何将命令行参数传递给Eclipse(Pydev)中运行的脚本时遇到一些困难.
以下链接说明了如何将命令行参数传递给python脚本.
要将命令行参数传递给模块argecho.py(来自上面链接的代码),
#argecho.py
import sys
for arg in sys.argv: 1
print arg
Run Code Online (Sandbox Code Playgroud)
我需要输入python控制台
[you@localhost py]$ python argecho.py
argecho.py
Run Code Online (Sandbox Code Playgroud)
要么
[you@localhost py]$ python argecho.py abc def
argecho.py
abc
def
Run Code Online (Sandbox Code Playgroud)
我如何将相同的参数传递给Eclipse中的Python脚本(Pydev)?
谢谢 !
我通过easy_install安装了pylint.我可以pylint <filename>成功地跑步.但是pydev拒绝使用它.
我究竟做错了什么?
我正在使用cython为数学模型生成更快的代码.我很难编译代码,但不知怎的,我设法使用.bat:
setlocal EnableDelayedExpansion
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /x64 /release
set DISTUTILS_USE_SDK=1
C:\Python27\python.exe C:\gcsilve\trunk\myproject\myproject\cythonsetup.py build_ext --inplace
PAUSE
Run Code Online (Sandbox Code Playgroud)
它运行正常......
我的问题是关于pyximport.我有使用pyximport.install()的其他人编写的旧代码.我无法弄清楚它的作用以及为什么我应该使用它,因为我已经自己编译了代码.那么,有人可以用一个非常简单的(对于傻瓜)的方式向我解释pyximport的作用吗?
附加信息:我有一个project1,使用cython.我有一个project2,它引用了project1.
在许多情况下(例如函数参数),Pydev不会静态地知道变量的类型.因此,代码完成(在.使用之后或使用时ctrl+space)不起作用.
在大多数情况下,您在设计软件时知道运行时的类型.有没有办法暗示Pydev正确编码完成它?
我想这可能需要特定的Pydev功能,或者甚至是新的Python PIP.
这实际上似乎是所有动态语言的一般问题......
更新:
也许有一个例子可以澄清:
def some_func(a_list, an_object):
a_list.app # Here I would not get code completion for append
Run Code Online (Sandbox Code Playgroud)
如果Pydev(或PIP)支持它,可以使用的示例:
from someobj import SomeObject
def some_func(a_list, an_object):
# typecast: a_list=list
# typecast: an_object=SomeObject
a_list.app # Now code completion would show append
Run Code Online (Sandbox Code Playgroud)
我不支持这种特定的方法 - 它只是一个可以工作的系统的例子.同样,当然这不应该是强制性的 - 但有时缺乏提示类型的可能性是令人讨厌的.
我正在使用python 2.7.2,sqlalchemy 0.7,unittest,eclipse 3.7.2和pydev 2.4进行项目.我在python文件(单元测试文件)中设置断点,但它们被完全忽略(之前,在某些时候,它们工作).到目前为止,我已升级所有相关软件(见上文),启动新项目,玩设置,催眠我的屏幕,但没有任何作用.
我从一些帖子得到的唯一想法是,它有一些东西可以将一些.py文件名改为小写.
有没有人有任何想法?
补充:我甚至安装了eclipse的aptana版本并将.py文件复制到它=>相同的结果; 断点仍然被忽略.
仍然没有进展:我已经改变了一些可能被视为不寻常的代码,并用更简单的解决方案取而代之.
更多信息:它可能与模块unittest有关:
我已经尝试过的是:
.pyc文件 .py文件复制到其中 我还能做的是:
我一直在使用pydev/eclipse很长一段时间,它对我很有用,但没有调试我就被迫切换IDE.
回答下面Fabio的问题:
pydev调试器:
starting
('Executing file ', 'D:\\.eclipse\\org.eclipse.platform_3.7.0_248562372\\plugins\\org.python.pydev.debug_2.4.0.2012020116\\pysrc\\runfiles.py')
('arguments:', "['D:\\\\.eclipse\\\\org.eclipse.platform_3.7.0_248562372\\\\plugins\\\\org.python.pydev.debug_2.4.0.2012020116\\\\pysrc\\\\runfiles.py', 'D:\\\\Documents\\\\Code\\\\Eclipse\\\\workspace\\\\sqladata\\\\src\\\\unit_test.py', '--port', '49856', '--verbosity', '0']")
('Connecting to ', '127.0.0.1', ':', '49857')
('Connected.',)
('received command ', '501\t1\t1.1')
sending cmd: CMD_VERSION 501 1 1.1
sending …Run Code Online (Sandbox Code Playgroud) 如何在Eclipse/PyDev中抑制"未使用的变量"警告
当我使用返回元组的函数时,我通常只需要其中一个值,但仍想分配给多个变量.我希望能够暂时关闭此警告,以便我可以解决更严重的问题.然后,我可以在做更多的最终检查时将其重新打开.
如果您想知道为什么我会故意这样做,那只是为了可读性.假设一个函数返回一个元组元组,我的代码的几个部分可能与第三个值一起工作,如下所示:
label, content = myfunc()[2]
Run Code Online (Sandbox Code Playgroud)
有时,我可能只对"内容"作品感兴趣,但我发现这...
tmp, content = myfunc()[2]
Run Code Online (Sandbox Code Playgroud)
...比这更平行(因此更具可读性):
content = myfunc()[2][1]
Run Code Online (Sandbox Code Playgroud)
如果有一个更好的方法来做到这一点而不分配一次性未使用的变量,请随意提供它作为答案.
>>> myfunc()[2]
('lab', 'val')
>>> , v = myfunc()[2]
SyntaxError: invalid syntax
>>> tmp, v = myfunc()[2]
>>>
Run Code Online (Sandbox Code Playgroud) 我在Windows上使用Eclipse,使用PyDev插件进行Python开发.当我使用'Run'启动我的应用程序时,它会产生一个新的Python(CPython)实例.当我使用'终止'按钮(红色方块)时,它会终止进程.但是,它似乎执行SIGKILL,因此我的关闭处理程序无法清理.
有没有办法让Eclipse发送SIGTERM,或者从Eclipse控制台模拟键盘中断(ctrl-c)?
注意:我知道还有其他Python IDE,比如Komodo或Wing可以解决这个问题,但我不打算转换它.
我不知道为什么这不起作用请帮忙
import random
x = 0
z = input('?')
int(z)
def main():
while x < z:
n1 = random.randrange(1,3)
n2 = random.randrange(1,3)
t1 = n1+n2
print('{0}+{1}={2}'.format(n1,n2,t1)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它输出此错误
File "/Users/macbook/Documents/workspace/gamlir_filar/samlagning.py", line 12
^
SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud)
我正在使用eclipse和python 3.3,我不知道为什么会这样.它有时输出这样的错误.
我已经在我的Mac上使用Eclipse中的PyDev大约两年了.今天更新了Eclipse,突然PyDev完全丢失了.尝试了一切,包括一个完整的卸载和全新安装,但虽然PyDev显示在菜单中安装,它似乎没有其他地方.
PyDev版本:3.0.0.201311051910 Eclipse:版本:Kepler Service Release 1 Build id:20130919-0819
我无法打开PyDev透视图,我无法创建新的Python文件,并且我无法打开现有的Python文件而不将其视为纯文本.
今晚我有一份巨大的任务,帮助赞赏.
我正在尝试在PyDev Jython项目中使用已编译的.jar Java库.
我成功地将.jar添加到了PYTHONPATH,并且能够开始使用自动完成工作进行编码.
该库也需要.dll扩展名javaHeclib.dll,因此我将其添加到项目的External Libs部分.
我可以很好地导入库,但是当我尝试访问它的任何函数时出现错误:
java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: no javaHeclib in java.library.path
Run Code Online (Sandbox Code Playgroud)
我在运行配置中添加了一个VM参数,没有运气:
-Djava.library.path="Y:/path/to/javaHeclib.dll;${env_var:PATH}"
Run Code Online (Sandbox Code Playgroud)
我可以使用java.library.path上面的命令行从命令行运行库.
在PyDev控制台中进行试验,我注意到我可以使用绝对路径加载.dll扩展名,但不能加载相对路径:
>>> import java.lang
>>> java.lang.System.load('Y:/path/to/javaHeclib.dll')
>>> java.lang.System.loadLibrary('javaHeclib')
Traceback (most recent call last):
File "<console>", line 1, in ?
java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: no javaHeclib in java.library.path
Run Code Online (Sandbox Code Playgroud)
不幸的是,该库正在使用System.loadLibrary上面的调用,我无法访问其源代码.
为什么javaHeclib.dll不在我的java.library.path?
编辑
设置java.library.path到包含dll的目录不允许我使用它加载它System.loadLibrary.
-Djava.library.path="Y:/path/to/dll/;${env_var:PATH}"
Run Code Online (Sandbox Code Playgroud)
(使用正斜杠没有什么区别.)我也尝试更改默认的VM args eclipse.ini,没有运气:
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m
-Djava.library.path="Y:\path\to\dll\;${env_var:PATH}"
Run Code Online (Sandbox Code Playgroud) pydev ×10
eclipse ×7
python ×7
python-2.7 ×2
cython ×1
debugging ×1
eclipse-3.5 ×1
ide ×1
jython ×1
process ×1
pylint ×1
python-3.3 ×1
python-3.x ×1
unit-testing ×1