2016-11-11 474 views
0

首先,它在我的工作计算机上工作,但不能在我的家用台式机上工作。其次,我已经探索了几个以前的答案,没有运气。也许我只是没有阅读过我的解决方案。python无法打开文件... [错误2]没有这样的文件或目录

我想从任何地方运行一个可执行的python脚本(它需要一个字符串参数)。我的解决办法是在.bashrc中使用一个bash别名:

我尝试了好几种变体:

alias tlog="~/projects/tlog/tlog.py" 
alias tlog="/c/cyg/home/<my_username>/projects/tlog/tlog.py" 
alias tlog="C:\\cyg\\home\\<my_username>\\projects\\tlog\\tlog.py" 
alias tlog='"/c/cyg/home/<my_username>/projects/tlog/tlog.py"' 
alias tlog='"C:\\cyg\\home\\<my_username>\\projects\\tlog\\tlog.py"' 
alias tlog="python ~/projects/tlog/tlog.py" 

他们没有工作,在各自的输出:

C:\Python27\python.exe: can't open file '/home/<my_username>/projects/tlog/tlog.py': [Errno 2] No such file or directory 
C:\Python27\python.exe: can't open file '/c/cyg/home/<my_username>/projects/tlog/tlog.py': [Errno 2] No such file or directory 
bash: C:cyghome<my_username>projectstlogtlog.py: command not found 
C:\Python27\python.exe: can't open file '/c/cyg/home/<my_username>/projects/tlog/tlog.py': [Errno 2] No such file or directory 
bash: C:\cyg\home\<my_username>\projects\tlog\tlog.py: command not found 
C:\Python27\python.exe: can't open file '/home/<my_username>/projects/tlog/tlog.py': [Errno 2] No such file or directory 

所以对于一个理智检查,我这样做:

$ cd ~/projects/tlog 
$ ls 
logs prev_log_date tlog.py 

是的,它在那里......它运行吗?

$ ./tlog.py "TEST" 
yadda yadda it worked 

没错,所以现在:

$ ~/projects/tlog/tlog.py "TEST" 
C:\Python27\python.exe: can't open file '/home/<my_username>/projects/tlog/tlog.py': [Errno 2] No such file or directory 

嗯...大概

$ more ~/projects/tlog/tlog.py 
#!/usr/bin/env python 
""" 
tlog - tlog docstring 
""" 
...rest of file... 

是的,这就是仍然存在。任何人都得到了我的答案? 参考:

$ ls -la 
...more files... 
-rwxrwxr-x+ 1 <my_username> <my_username> 6376 Nov 10 17:59 tlog.py 
$ cd .. 
$ ls -la 
...more files... 
drwxr-xr-x+ 1 <my_username> <my_username> 0 Nov 10 17:59 tlog 
$ python --version 
Python 2.7.10 
+0

我不确定你的别名有什么问题,但你可以将它添加到你的路径。 'PATH = $ PATH:$ HOME /项目/ tlog' – chicks

回答

1

看起来像您使用基于Windows的蟒蛇

检查cygwin的python的安装

ls /bin/python* 

如果你没有cygwin的蟒蛇,没有Cygwin的基于Python,安装。

如果你已经安装了cygwin python,那么检查你的PATH变量 - cygwin/bin /文件夹必须在windows python文件夹之前。

如果你真的需要使用Windows Python从Cygwin的......“从cygwin的窗口蟒蛇”读了很多有关 - 有吨的毛刺,特殊情况和不可预知的行为

另外,你可以尝试这样的别名:(不能自己检查)

alias tlog="cmd.exe C:\\Python27\\python.exe -i C:\\cyg\\home\\<my_username>\\projects\\tlog\\tlog.py" 
相关问题