相关疑难解决方法(0)

源shell脚本进入ruby脚本中的环境

如果我正在编写shell脚本并且我想"获取"一些外部(c-)shell脚本来设置我的环境,我可以像这样调用:

source /file/I/want/to/source.csh
Run Code Online (Sandbox Code Playgroud)

我想用ruby脚本替换执行此操作的shell脚本.我可以在ruby脚本中做类似的事情吗?

更新:

刚试用test_script.csh:

#!/bin/csh

setenv HAPPYTIMES True
Run Code Online (Sandbox Code Playgroud)

...和test_script.rb:

#!/usr/bin/env ruby
system "~/test_script.csh"
system "echo $HAPPYTIMES"
Run Code Online (Sandbox Code Playgroud)

可悲的是,到目前为止还没有任何快乐.

ruby shell environment scripting

7
推荐指数
2
解决办法
1万
查看次数

Sublime Text 插件开发中的全局 Python 包

一、总结

\n\n

我不知道 Sublime Text 插件开发人员如何使用 Sublime Text 查找全局 Python 包,而不是 Sublime Text 目录的 Python 包。

\n\n

Sublime Text使用自己的Python环境,而不是机器的Python环境。开发人员需要sys.path设置非内置的 Sublime Text Python 包。

\n\n

是否有任何方法在 Sublime Text 插件中使用全局安装的 Python 包?例如,如果有人告诉我,如何更改我的插件 \xe2\x80\x94 ,那就太好了,请参阅此问题的 3.2 项。

\n\n
\n\n

2.使用Sublime Text 3环境的缺点

\n\n
    \n
  1. Sublime Text 3 Build 3126 使用 Python 3.3,但在撰写此问题时发布了 Python 3.6 稳定版。Python 3.6 有更多功能。
  2. \n
  3. 开发人员需要添加和更新第三方Python包,即使它们是为用户安装的。它花费了开发人员的时间。
  4. \n
  5. 对于开发者来说,可能会遇到包依赖的问题,参见本问题的6.2项。
  6. \n
\n\n
\n\n

3. 示例

\n\n

1.Python代码

\n\n

例如,我将Python代码 \xe2\x80\x94 替换\xd0\x9f\xd0\xbe\xd0\xb8\xd1\x81\xd0\xba \xd0\x9a\xd1\x80\xd0\xb8\xd1\x81\xd1\x82\xd0\xb8\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8b[**\xd0\x9f\xd0\xbe\xd0\xb8\xd1\x81\xd0\xba \xd0\x9a\xd1\x80\xd0\xb8\xd1\x81\xd1\x82\xd0\xb8\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8b**](https://github.com/Kristinita/Kristinita.github.io),其中https://github.com/Kristinita/Kristinita.github.io\xe2\x80\x94 …

python python-3.x sublimetext sublimetext3 sublime-text-plugin

6
推荐指数
1
解决办法
2446
查看次数

使用用户输入的密码进行Python单元测试

我正在尝试对访问远程服务的python代码进行单元测试。我在python 2.7中使用PyUnit。

在该setUpClass方法中,代码提示用户输入服务的密码。我想使所有模块保持模块化,因此我为每个要测试的类创建了单独的单元测试类。这些类都访问相同的远程服务,并且都使用setUpClass超类的方法的单个定义。

我的问题是我必须多次重新输入密码(每个测试类一次)。我很懒。我只想为所有单元测试输入一次密码。我可以通过在单元测试中对密码进行硬编码来避免此问题,但这是一个糟糕的主意。另一种选择是将所有内容都推入一个派生自的庞大类中unittest.TestCase,但由于我喜欢模块化,因此我想避免使用这条路线。

代码的结构如下:

import unittest
from getpass import getpass

class TestCommon(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        pwd = getpass()

class test_A(TestCommon):
    # ...individual unit tests for class A

class test_B(TestCommon):
    # ...individual unit tests for class B
Run Code Online (Sandbox Code Playgroud)

在此示例中,我将不得不输入两次密码:一次输入class A,一次输入class B

是否有人建议我在单元测试运行开始时就一次性输入一次安全密码?谢谢!

python unit-testing python-2.7 python-unittest

5
推荐指数
1
解决办法
1849
查看次数

Python在windows上获取系统环境变量

如何在 Windows 上获取系统环境变量?使用以下代码,我只获得用户环境变量:

os.environ['PATH']
Run Code Online (Sandbox Code Playgroud)

或者这返回相同的:

os.getenv('PATH')
Run Code Online (Sandbox Code Playgroud)

谢谢!

python windows environment-variables

5
推荐指数
1
解决办法
5715
查看次数

使用带有参数的 subprocess.call

与这个问题相关

原则上的问题是相同的,我有一个 subprocess.system 调用

...
EDITOR = os.environ.get('EDITOR', 'vim')
subprocess.call([EDITOR, tf.name])
...
Run Code Online (Sandbox Code Playgroud)

EDITOR环境变量在哪里$EDITORtf.name只是一个文件名。

但是,sublime text建议将设置为“$EDITOR使export EDITOR='subl -w'我的通话看起来像这样”:

subprocess.call(['subl -w', "somefilename"])
Run Code Online (Sandbox Code Playgroud)

它失败了,如下所示:

raceback (most recent call last):
  File "/usr/bin/note", line 65, in <module>
    storage["notes"][args.name] = writeNote(args.name, storage)
  File "/usr/bin/note", line 54, in writeNote
    subprocess.call([EDITOR, tf.name])
  File "/usr/lib/python3.5/subprocess.py", line 557, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1541, in …
Run Code Online (Sandbox Code Playgroud)

python command-line environment-variables sublimetext3

4
推荐指数
1
解决办法
1335
查看次数

使用 django:代理设置

我有一个使用 apache 的本地开发 django 设置。问题是,在部署服务器上没有代理,而在我的工作场所,我在 http 代理后面工作,因此请求调用失败。

有没有什么方法可以使请求库中的所有调用都通过代理进行。[我知道如何使用代理参数向各个调用添加代理,但是有全局解决方案吗?]

django proxy

3
推荐指数
2
解决办法
1万
查看次数

从bash导出变量并在Python中使用它

我正在尝试编写一个脚本,该脚本正在Linux服务器上执行几个操作,我想对大多数Linux特定命令使用bash,而对最复杂的东西仅使用Python,但是为此,我需要从bash脚本中导出一些变量并在python脚本中使用它们,但我没有找到一种方法。因此,我尝试创建两个非常小的脚本来测试此功能:1.sh是bash脚本

#!/bin/bash

test_var="Test Variable"
export test_var
echo "1.sh has been executed"
python 2.sh
Run Code Online (Sandbox Code Playgroud)

2.sh是Python脚本:

#!/usr/bin/env python3

print("The python script has been invoked successfully")
print(test_var)
Run Code Online (Sandbox Code Playgroud)

您可以猜测,当我执行第一个脚本时,第二个脚本会失败,并显示有关未知变量的错误:

$ ./1.sh
1.sh has been executed
The python script has been invoked successfully
Traceback (most recent call last):
  File "2.sh", line 4, in <module>
    print(test_var)
NameError: name 'test_var' is not defined
Run Code Online (Sandbox Code Playgroud)

之所以尝试这样做,是因为我对bash更加满意,并且我想在bash中使用$ 1,$ 2变量。在Python中也可以吗?

[编辑]-我刚刚发现如何在Python中使用$ 1和$ 2。您需要使用sys.argv[1]sys.argv[2]并导入sys模块import sys

python linux bash shell

3
推荐指数
2
解决办法
3331
查看次数

Python使用"〜"符号从不同的目录导入

在linux结构下,我注意到以下工作:

import sys
sys.path.append("/home/username/fullpathname/")
import my_module
Run Code Online (Sandbox Code Playgroud)

但以下情况并非如此

import sys
sys.path.append("~/fullpathname")
import my_module
Run Code Online (Sandbox Code Playgroud)

有没有办法使用"〜"运算符?我不明白为什么python想要完整的目录.谢谢!

python

1
推荐指数
1
解决办法
244
查看次数

如何使用环境变量

在终端中,我设置了www站点和路径以创建测试报告。

我设置: MY_URL=mysite:myport REPORTPA=./mypath/mysecondfolder/ pytest -s testFile.py --html=REPORTPA/report.html

我应该保存report.html,我尝试以下解决方案:

$REPORTPA/report.html or %REPORTPA/report.html

而且它用的不好。如何使用变量?

python

0
推荐指数
1
解决办法
34
查看次数