我正在尝试设置一个用python编写的外部程序/ lib - 关于debian squeeze.
当我尝试启动"环境变量未设置"时我得到的错误 - 这是开发人员的异常抛出.所以我想,我必须定义它,但在哪里?
~/.bashrc但是我不确定它是否在virtualenv中读取,并且即使我不使用这个virtualenv,我也不希望这些导出被读取.virtualenv/bin/activate,但它似乎无法正常工作.我正在尝试安装Opus和Urbansim.
这是我在启动时得到的:
(opus-env)touki@touki:~/Projects/opus-env$ ./src/opus_gui/opus.py
Traceback (most recent call last):
File "./src/opus_gui/opus.py", line 14, in <module>
from opus_gui.main.controllers.opus_gui_configuration import OpusGuiConfiguration
File "/home/touki/Projects/opus-test/src/opus_gui/main/controllers/opus_gui_configuration.py", line 12, in <module>
from opus_core import paths
File "/home/touki/Projects/opus-test/src/opus_core/paths.py", line 44, in <module>
OPUS_HOME = _safe_getenv('OPUS_HOME', _get_default_opus_home)
File "/home/touki/Projects/opus-test/src/opus_core/paths.py", line 33, in _safe_getenv
return os.environ[key] if key in os.environ else default_func()
File "/home/touki/Projects/opus-test/src/opus_core/paths.py", line 36, in _get_default_opus_home
raise Exception('OPUS_HOME environment variable …Run Code Online (Sandbox Code Playgroud) 使用zip文件,我指示文件位于另一个文件夹中,例如: './data/2003-2007/metropolis/Matrix_0_1_0.csv'
我的问题是,当我提取它时,文件位于中./data/2003-2007/metropolis/Matrix_0_1_0.csv,而我希望将其提取到中./
这是我的代码:
def zip_files(src, dst):
zip_ = zipfile.ZipFile(dst, 'w')
print src, dst
for src_ in src:
zip_.write(src_, os.path.relpath(src_, './'), compress_type = zipfile.ZIP_DEFLATED)
zip_.close()
Run Code Online (Sandbox Code Playgroud)
这是src和dst的输出:
['./data/2003-2007/metropolis/Matrix_0_1_0.csv', './data/2003-2007/metropolis/Matrix_0_1_1.csv'] ./data/2003-2007/metropolis/csv.zip
Run Code Online (Sandbox Code Playgroud) 问题很简单.如果一个类B继承一个类A并想要覆盖一个用作构造函数的'classmethod'(我想你称之为"工厂方法").问题是B.classmethod需要重用A.classmethod,但是它必须创建类A的实例,而它是类A的子类 - 因为,作为类方法,它没有自我.然后,它似乎不是设计它的正确方法.
我做的例子很简单,我通过阅读numpy数组等做了更复杂的事情.但我想这里没有信息丢失.
class A:
def __init__(self, a):
self.el1 = a
@classmethod
def from_csv(cls, csv_file):
a = read_csv(csv_file)
return cls(a)
@classmethod
def from_hdf5 ...
class B(A):
def __init__(self, a, b)
A.(self, a)
self.el2 = b
@classmethod
def from_csv(cls, csv_file):
A_ = A.from_csv(csv_file) #instance of A created in B(A)
b = [a_*2 for a_ in A.el]
return cls(A.el, b)
Run Code Online (Sandbox Code Playgroud)
是否有一种pythonic方式来处理?
这是我班上的操作员定义:
T& operator*(){
return this->element_;
}
Run Code Online (Sandbox Code Playgroud)
当我像这样使用它时,它被称为:
std::cout << n->operator*() << std::endl;
Run Code Online (Sandbox Code Playgroud)
如果我尝试,它不会:
std::cout << *n << std::endl;
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
提前致谢,
杰里米
python ×3
c++ ×1
class-design ×1
constructor ×1
dereference ×1
inheritance ×1
overloading ×1
path ×1
virtualenv ×1
zipfile ×1